Messagebox erstellen
Giovanni Rena
- javascript
0 wahsaga0 Tobias Kloth0 sschumann0 Tobias Kloth0 MudGuard0 wahsaga0 MudGuard
0 Der Martin
0 sschumann
Hallo,
ich möchte ein PHP-Script starten welches sich dann an einer DB zu schaffen macht... vorher soll der Benutzer aber noch bestätigen, ob er dies auch möchte, sprich es soll ne Meldung kommen: "Sind sie sicher? JA, NEIN"
Ich glaube dass muß man mit JavaScript machen, hab da confirm() (OK, Abbrechen) gefunden. Wollte jetzt wissen ob das ein üblicher und guter Weg für sowas ist?
Gruß Giovanni
hi,
ich möchte ein PHP-Script starten welches sich dann an einer DB zu schaffen macht... vorher soll der Benutzer aber noch bestätigen, ob er dies auch möchte, sprich es soll ne Meldung kommen: "Sind sie sicher? JA, NEIN"
Ich glaube dass muß man mit JavaScript machen, hab da confirm() (OK, Abbrechen) gefunden. Wollte jetzt wissen ob das ein üblicher und guter Weg für sowas ist?
ja - sofern es dir ausreicht, dass es nur mit aktiviertem javascript wie gewünscht funktioniert, natürlich.
zwei möglichkeiten:
<a href="php-script.php" onClick="return confirm('echt jezz, alter?');">ab geht's</a>
mit JS wird linkausführung vom ergebnis der abfrage abhängig gemacht, ohne JS _in jedem fall_ beim klick auf den link das script aufgerufen.
<span onClick="if(confirm('echt jezz, alter?')) location.href = 'php-script.php'">ab geht's</a>
bei aktiviertem JS - siehe oben.
ohne aktiviertes JS - es passiert gar nichts.
gruß,
wahsaga
ja - sofern es dir ausreicht, dass es nur mit aktiviertem javascript wie gewünscht funktioniert, natürlich.
zwei möglichkeiten:
Danke erstmal für die Antwort! Hab dich aber nicht ganz eindeutig verstanden. Diese beiden Möglichkeiten funktionieren nur mit aktiviertem JS richtig, oder? Wenn dass der Fall ist, gibt es eine JavaScript unabhängige Lösung?
- php-script per "normalem" link aufrufen, dessen ausführung aber vom ergebnis von confirm abhängig machen:
<a href="php-script.php" onClick="return confirm('echt jezz, alter?');">ab geht's</a>
mit JS wird linkausführung vom ergebnis der abfrage abhängig gemacht, ohne JS _in jedem fall_ beim klick auf den link das script aufgerufen.
Der Link wird bei deaktiviertem JS aufjeden fall gestartet, richtig?
- php-script nur per javascript aufrufen, per location.href = ...
<span onClick="if(confirm('echt jezz, alter?')) location.href = 'php-script.php'">ab geht's</a>
Der Link wird bei deaktiviertem JS NICHT gestartet, richtig?
Thanx
hi,
Hab dich aber nicht ganz eindeutig verstanden. Diese beiden Möglichkeiten funktionieren nur mit aktiviertem JS richtig, oder?
ja, das haben javascript-lösungen so an sich.
Wenn dass der Fall ist, gibt es eine JavaScript unabhängige Lösung?
bitte wählen:
<a href="loeschen.php">ich möchte löschen</a>
<a href="http://www.google.com/">ich möchte nicht löschen</a>
Der Link wird bei deaktiviertem JS aufjeden fall gestartet, richtig?
brillinat erkannt.
Der Link wird bei deaktiviertem JS NICHT gestartet, richtig?
brillinat erkannt.
als alternative dazu siehe vielleicht Tobias' vorschlag.
gruß,
wahsaga
@Tobias Kloth + wahsaga
Alles klar, habs grad ausprobiert und funktioniert gut! Danke für die Lösung
Hallo Giovanni,
ich möchte ein PHP-Script starten welches sich dann an einer DB zu schaffen macht... vorher soll der Benutzer aber noch bestätigen, ob er dies auch möchte, sprich es soll ne Meldung kommen: "Sind sie sicher? JA, NEIN"
ich mach das immer mit dem Link:
<a href="datei.php?aktion=loeschen&id=123" onclick="return wl(this);">[löschen]</a>
und dem der js-Funktion:
function wirklich(a,art){
meldung = 'Soll der Datensatz wirklich gelöscht werden?';
var w = window.confirm(meldung);
if(w){
a.href = a.href + '&sicher=1';
return true;
}
else{
return false;
}
}
die JS-Funktion gibt anhand des Rückgabewertes von confirm true oder false zurück und hängt bei true an die URL des Linkes ein "&sicher=1" dran - das php-Script überprüft dann ob $_GET['sicher'] gesetzt ist, und wenn ja wird der Datensatz gelöscht, wenn der Wert nicht gesetzt ist, fragt php erst nochmal nach ob der Datensatz wirklich gelöscht werden soll.
Grüße aus Nürnberg
Tobias
<a href="datei.php?aktion=loeschen&id=123" onclick="return wl(this);">[löschen]</a>
und dem der js-Funktion:
function wirklich(a,art){
}
Und DAS funktioniert?
Ich finde confirm() in den meisten Fällen aus UI-Sicht ungeeignet. Zum einen im aktuellen IE-6-Service-Pack wegen der Eingabeaufforderung für das Zulassen aktiver Inhalte, zum anderen, weil "OK" und "Abbrechen" als Auswahl bestimmte redaktionelle Anforderungen an den Dialog stellen.
Hallo sschumann,
function wirklich(a,art){
}
upps, ich sehe gerade, dass hier der zweite Parameter noch zuviel ist ...
> Ich finde confirm() in den meisten Fällen aus UI-Sicht ungeeignet. Zum einen im aktuellen IE-6-Service-Pack wegen der Eingabeaufforderung für das Zulassen aktiver Inhalte,
ist das mein Problem wenn der IE jedesmal nachfragt, ob der js ausführen soll? Wenn der User es unbedingt so haben will ...
Wegen mir kann er ja so eingestellt sein, dass js überhaupt nicht ausgeführt wird - funktionieren wird es trotzdem - außerdem wird man solche Abfragen wohl kaum im öffentlichen Internet brauchen, sondern eher in Administrationsbereichen bei denen nur eine eingeschränkter Benutzerkreis Zugang hat (so ist es zumindest bei mir).
> zum anderen, weil "OK" und "Abbrechen" als Auswahl bestimmte redaktionelle Anforderungen an den Dialog stellen.
was gibt es denn an der Frage "Soll der Datensatz wirklich gelöscht werden?" misszuverstehen? Aber du hast natürlich recht, man muss schon aufpassen was man da für einen Text reinsetzt.
Grüße aus Nürnberg
Tobias
Hi,
zum anderen, weil "OK" und "Abbrechen" als Auswahl bestimmte redaktionelle Anforderungen an den Dialog stellen.
was gibt es denn an der Frage "Soll der Datensatz wirklich gelöscht werden?" misszuverstehen? Aber du hast natürlich recht, man muss schon aufpassen was man da für einen Text reinsetzt.
Paradebeispiel für schlechten Text (schon gesehen):
Soll der Vorgang abgebrochen werden?
[ OK ] [Abbrechen]
cu,
Andreas
hi,
Paradebeispiel für schlechten Text (schon gesehen):
Soll der Vorgang abgebrochen werden?
[ OK ] [Abbrechen]
wie wertet man das ergebnis einer solchen abfrage scriptseitig dann weiter aus?
mein vorschlag wäre:
if(confirmErgebnis || !confirmErgebnis) //abbruch
gruß,
wahsaga
Hi,
Paradebeispiel für schlechten Text (schon gesehen):
Soll der Vorgang abgebrochen werden?
[ OK ] [Abbrechen]
wie wertet man das ergebnis einer solchen abfrage scriptseitig dann weiter aus?
mein vorschlag wäre:
if(confirmErgebnis || !confirmErgebnis) //abbruch
Wieso? Bei Ok wird der Abbruch fortgesetzt (also der Vorgang abgebrochen) und bei Abbrechen der Abbruch abgebrochen (also der Vorgang fortgesetzt) ;-)
cu,
Andreas
Hallo,
das Beispiel fordert das logische Verständnis des Users schon ganz schön heraus...!
Soll der Vorgang abgebrochen werden?
[ OK ] [Abbrechen]
In einer uralten Windows-Tabellenkalkulation (ich glaub, das war so'ne Art Excel-Clone unter Win3.1) ist mir damals die Abfrage
Datensatz nicht löschen?
[ Ja ] [Nein]
begegnet. Da wusste ich zunächst auch nicht, ob der Programmautor die doppelte Verneinung wirklich beherrscht hat. Das hat er in der Tat nicht (oder hier nicht konsequent umgesetzt), aber ich wollte es dann doch erst mit einem Testdatensatz ausprobieren. ;)
Ciao,
Martin
function wirklich(a,art){
}
> upps, ich sehe gerade, dass hier der zweite Parameter noch zuviel ist ...
Jau, und die Methode mit dem Namen gips auch nücht :)