Prüfen
dersvennie
- javascript
0 JürgenB0 dersvennie
0 Cheatah0 Gunnar Bittersmann
Tachkes !
Brauch mal Hilfe bei Javascript...Hab folgenden Link :
echo "<td width="50"><a href="delete_user.php?user_id=".$row['user_id']."" onclick="Check()"><img src="../Images/delete_user.jpg" alt="User löschen" width="16" height="16" border="0"></a>";
und im <head>
<script>
function Check = confirm("Wollen Sie diesen User wirklich löschen?");
if (Check == false)
history.back();
</script>
... jetzt krieg aber keine Messagebox angezeigt und der User wird sofort gelöscht..ruft die function nicht auf... Irgendwer ne Idee?
Hallo dersvennie,
echo "<td width="50"><a href="delete_user.php?user_id=".$row['user_id']."" onclick="Check()"><img src="../Images/delete_user.jpg" alt="User löschen" width="16" height="16" border="0"></a>";
das ist weder Javascript noch html.
<script>
<script type="text/javascript">
function Check = confirm("Wollen Sie diesen User wirklich löschen?");
Check soll keine Funktion, sondern eine Variable sein:
var Check = ...
if (Check == false)
history.back();
</script>
Du kennst die Fehlerkonsole des Firefox? Die hätte Dir bestimmt den entscheidenden Tipp gegeben. Auch der IE erzeugt Fehlermeldungen, auch wenn diese nicht immer aussagekräftig sind.
Gruß, Jürgen
Ok... ich hab mich vielleicht falsch ausgedrückt.. also ich ruf ne Seite auf auf welcher ich, mittels einem echo in PHP den folgenden Link als Bild ausgeben lass:
echo "<td width="50"><a href="delete_user.php?user_id=".$row['user_id']."" onclick="Check()"><img src="../Images/delete_user.jpg" alt="User löschen" width="16" height="16" border="0"></a>";
--> ISt halt in ner Tabellenzeile, nen link zu "delete user", die ID des users wird mitgesendet, beim klicken soll Check aufgerufen werden.
und die funktion check() hab ich im Header in Javascript eingebunden...
Naja und es soll jetzt so laufen:
1. Seite wird geladen
2. Beim klicken auf löschen soll eine Abfrage erscheinen wirklich löschen
3. Wenn selbige mit ja beantwortet wird soll die Aktion ausgeführt werden also das Formular an die seite delete_user gesendet werden die dann das SQL Statement absetzt und eine BEstätigung zurück gibt.
4. Wenn Abbrechen gewählt wird soll nichts passieren und man bleibt im selben Formular
Hallo dersvennie,
echo "<td width="50"><a href="delete_user.php?user_id=".$row['user_id']."" onclick="Check()"><img src="../Images/delete_user.jpg" alt="User löschen" width="16" height="16" border="0"></a>";
das ist weder Javascript noch html.
<script>
<script type="text/javascript">
function Check = confirm("Wollen Sie diesen User wirklich löschen?");
Check soll keine Funktion, sondern eine Variable sein:
var Check = ...
if (Check == false)
history.back();
</script>Du kennst die Fehlerkonsole des Firefox? Die hätte Dir bestimmt den entscheidenden Tipp gegeben. Auch der IE erzeugt Fehlermeldungen, auch wenn diese nicht immer aussagekräftig sind.
Gruß, Jürgen
Hallo,
- Beim klicken auf löschen soll eine Abfrage erscheinen wirklich löschen
- Wenn selbige mit ja beantwortet wird soll die Aktion ausgeführt werden also das Formular an die seite delete_user gesendet werden die dann das SQL Statement absetzt und eine BEstätigung zurück gibt.
- Wenn Abbrechen gewählt wird soll nichts passieren und man bleibt im selben Formular
<a href="delete-Adresse" onclick="return Check()">Löschen</a>
<script type="text/javascript">
function Check () {
var ergebnis = window.prompt("Wollen Sie wirklich löschen?");
return ergebnis;
}
</script>
Erklärung:
Bei onclick wird Check ausgeführt, soweit klar. Die Funktion ruft prompt auf, der Rückgabewert wird in der Variable ergebnis gespeichert. Da steht false drin, wenn der User Abbrechen gewählt hat oder true, wenn er OK gewählt hat. Die Funktion Check gibt dann die Variable mit true oder false zurück. Im onclick-Attribut wird nun der zurückgegebene Wert nochmal »zurückgegeben«. return hat in dem Zusammenhang eine spezielle Bedeutung. onclick="return false;" führt dazu, dass das click-Ereignis nicht weiter behandelt wird. Genauer gesagt wird die Standard-Ereignisbehandlung verhindert. Wenn bei einem Link ein click-Ereignis eintritt, dann behandelt der Browser dieses Ereignis standardmäßig, indem das Linkziel annavigiert wird. Das wird durch return false verhindert. (<a href="..." onclick="return false">...</a> wäre also ein Link, bei dem überhaupt nichts passiert, wenn darauf geklickt wird.) Je nachdem, was Check also zurückgibt, steht da letztlich onclick="return true" oder onclick="return false". Im ersteren Fall wird der Link ganz normal ausgeführt und die Lösch-Seite aufgerufen, im zweiten Fall passiert einfach nichts.
Mathias
Hallo molily.
<script type="text/javascript">
function Check () {
var ergebnis = window.prompt("Wollen Sie wirklich löschen?");
return ergebnis;
}
</script>
Da ich dies nun schon mehrfach in diesem Thread gesehen habe: wozu die überflüssige Variable? Folgendes genügt doch schon:
function Check() {
return window.prompt("Wollen Sie wirklich löschen?");
}
Einen schönen Freitag noch.
Gruß, Mathias
Hallo,
wozu die überflüssige Variable?
Um die Funktionsweise auseinanderzudröseln und in der Erklärung darauf zu verweisen.
Wenn ich Code poste, um daran etwas zu erklären, poste ich nicht die effizienteste, sondern die verständlichste Schreibweise. Wer verstanden hat, was Ausdrücke in JavaScript sind und dass hinter return ein beliebiger Ausdruck stehen kann, versteht natürlich auch die Kurzschreibweise. Wer aber Fehler wie function Check = confirm("Wollen Sie diesen User wirklich löschen?"); macht, bringt nicht das nötige Vorwissen mit, um ihn gleich mit Kurzschreibweisen zu beglücken. ;)
Mathias
Ok... ich hab mich vielleicht falsch ausgedrückt.. also ich ruf ne Seite auf auf welcher ich, mittels einem echo in PHP den folgenden Link als Bild ausgeben lass:
und für das JS Problem ist einzig und allein der Code von Interesse, der im Browser ankommt.
echo "<td width="50"><a href="delete_user.php?user_id=".$row['user_id']."" onclick="Check()"><img src="../Images/delete_user.jpg" alt="User löschen" width="16" height="16" border="0"></a>";
Das interessiert für dein Problem null (zumal man selbst das mit PHP sicher schöner formatieren könnte).
Hallo dersvennie,
Warum zitierst du das und das Folgende, wenn du darauf noch nicht mal eingehst?
Struppi.
Hi,
Brauch mal Hilfe bei Javascript...Hab folgenden Link :
echo "<td width="50"><a href="delete_user.php?user_id=".$row['user_id']."" onclick="Check()"><img src="../Images/delete_user.jpg" alt="User löschen" width="16" height="16" border="0"></a>";
das ist kein Link. Das ist nicht mal HTML. Es sieht eher aus wie PHP und ist damit vollkommen uninteressant für irgendwelche clientseitigen Probleme.
function Check = confirm("Wollen Sie diesen User wirklich löschen?");
... jetzt krieg aber keine Messagebox angezeigt
Nein, statt dessen kriegst Du einen JavaScript-Fehler, weil das eine ungültige Syntax ist.
und der User wird sofort gelöscht..
Welche clientseitige Aktion sollte denn durchgeführt werden, wenn der User OK wählt? Dein Code enthält keinen Hinweis darauf. Ich gehe davon aus, dass der Löschvorgang bereits abgeschlossen ist, bevor der Client den JavaScript-Code erhält.
Cheatah
Hello out there!
Brauch mal Hilfe bei Javascript...Hab folgenden Link :
echo "<td width="50"><a href="delete_user.php?user_id=".$row['user_id']."" onclick="Check()"><img src="../Images/delete_user.jpg" alt="User löschen" width="16" height="16" border="0"></a>";
Poste bei clientseitigen Problemen nie serverseitigen Code!
<script>
Fehler: JavaScript-Bereiche in HTML definieren
function Check = confirm("Wollen Sie diesen User wirklich löschen?");
Fehler: Parameter bei Übergabe von Funktionsreferenzen.
Aber das ist wohl nicht das, was du willst.
if (Check == false)
Wozu der Vergleich gegen false, wo Check doch schon ein boolescher Wert ist?
function Check()
{
confirm("Wollen Sie diesen User wirklich löschen?");
if (!Check)
history.back();
}
Generell erscheint mir deine Vorgehensweise äußert zweifelhaft. Warum führst du nicht die Lösch-Aktion nach Bestätigung aus, anstatt mit history.back() rumzumanschen?
See ya up the road,
Gunnar
Hello out there!
<script>
Fehler: "ref" statt "link":
<http://de.selfhtml.org/javascript/intro.htm#javascriptbereiche@title=JavaScript-Bereiche in HTML definieren>
Und die Funktion war auch falsch.
function Check()
{
var c = confirm("Wollen Sie diesen User wirklich löschen?");
if (!c)
history.back();
}
Sry, noch nicht ganz wach.
See ya up the road,
Gunnar