Bestätigen Sie Vor Dem Senden Des Formulars

Erstellte ich eine PHP-Seite zu löschen aus meiner Datenbank. Diese PHP-Seite ist die Aktion eine form der Unterwerfung. Das Formular übermittelt wird, indem Sie ein Bild des „X“ – Zeichen.
Wie kann ich den Benutzer Fragen, bestätigen, bevor Sie das Anmeldeformular abschicken und dann löschen aus meiner Datenbank?

Dies ist mein code:

<form method='POST' action='delete.php'><input type='image' src='images/delete.png' class='del' alt='Submit Form' />

Habe ich versucht, es zu tun inline durch das hinzufügen dieser zu meinem tag, aber es hat nicht funktioniert:

onsubmit="return confirm('Are you sure you want to submit this form?');"
  • verwenden onclick für den button und nicht onsubmit für die form.
  • Wenn Sie sicherstellen möchten, dass die Bestätigung gebeten, die Sie tun müssen, eine Bestätigungs-Seite aufgerufen, auf „Absenden“ auf der server-Seite (eine neue php-Datei mit einer zwei-Tasten-form und die zuvor eingegebenen Informationen, die Anrufe delete.php wenn „ja“ gewählt). Sobald Sie das getan haben, können Sie ein javascript layer mit ajax-calls zur Verbesserung der user experience. Der Vorteil dieses Ansatzes ist, dass die app funktioniert mit und ohne javascript.
  • Ebend gerade auf, wie viel Aufmerksamkeit, die ich bekommen hab lol
  • jsbin.com/sesekeruqa/1/edit?html,Ausgang, Das funktioniert gut, wenn ich es Teste.
  • Sie sind offensichtlich verlassen einige wichtige code und wie genau diese verwendet wird. Ich hoffe, du bist nicht nur reagiert werden, um „Antworten“ nur, wir brauchen etwas feedback hier oben auch.
  • Ich versuche Ihre Vorschläge eins nach dem anderen. 🙂
  • Sie mit dem Stichwort „php“, aber kein code zur Unterstützung Ihrer Frage. Ich Wette, du bist echo, dass irgendwo und mit den falschen Anführungszeichen oder nicht, entweicht das einfache Anführungszeichen. Alle Antworten wurden downvoted weil von dem, was Sie nicht sind uns zu zeigen. Nicht meine downvotes btw. Edit: Die viele gelöscht haben, Ihre Antworten.
  • was bin ich nicht zeigen, genau? alle im Zusammenhang mit code ist hier oben in meiner Frage posten. Was beziehen Sie sich ?
  • mein Kommentar war klar, was willst du mir schreiben? Ich bewege mich auf jetzt. Gutes Glück mit diesem. Ich Verschwendete genug Zeit schon, wie Sie das für alle anderen, darunter „yours“.
  • sorry, es ist alles andere als klar für mich :). Trotzdem danke
  • Wenn alle zugehörigen code ist in der post, warum ist es, dass ich kann das problem nicht reproduzieren in meinem test-Fall? jsbin.com/sesekeruqa/1/edit?html,Ausgang
  • Ich Schreibe die html-tags innerhalb des php-tag, also bin ich mit echo vor; ex: echo „<form method=’POST‘ action=’delete.php‘><input type=’image‘ src=’Bilder/löschen.png‘ class=’del‘ alt=’Formular Senden‘ onclick=’return confirm(\’Sind Sie sicher, dass Sie möchten, senden Sie dieses Formular?\‘);‘ />“ . Ich versuchte es sowohl mit onclick und „onsubmit“, beides hat nicht funktioniert. möglicherweise werden die einfachen Anführungszeichen werden nicht interpretiert richtig. Ich habe versucht, diese laufen mit und ohne den umgekehrten Schrägstrich vor dem Apostroph, Gleiches Ergebnis.

InformationsquelleAutor Sahar Alsadah | 2016-09-20



3 Replies
  1. 4

    Aus einem Kommentar von der OP:

    echo "onclick='return confirm(\'Are you sure you want to submit this form?\');'"

    Können Sie nicht verwenden Sie einfache Anführungszeichen in einem Attribut-Wert begrenzt durch single-quotes.

    Ihre Optionen sind:

    Verwenden Sie doppelte Anführungszeichen in den JS

    echo "onclick='return confirm(\"Are you sure you want to submit this form?\");'"

    Verwenden Sie doppelte Anführungszeichen in den HTML –

    echo "onclick=\"return confirm('Are you sure you want to submit this form?');\""

    Entities benutzen

    echo "onclick='return confirm(&quot;Are you sure you want to submit this form?&quot;);\""

    Wenn Sie setzen JavaScript innerhalb einer HTML-Attribut-Wert in eine PHP-Zeichenkette, die Sie haben drei verschiedene Sprachen, die alle zusammen gemischt, und Sie müssen sehr, sehr vorsichtig mit Ihrer Flucht, so dass Sie zu entkommen, die richtigen Zeichen für die rechten Sprachen an den richtigen stellen.

    Als Faustregel gilt, dass es besser ist, zu halten, dass der Inhalt der PHP-strings auf ein minimum. Nur drop in den PHP-Modus, wenn Sie eine variable.

    ?>
        <form method='POST' action='delete.php'>
            <input type='image' src='images/delete.png' class='del' alt='Submit Form' onclick="return confirm('Are you sure you want to submit this form?');" />
        </form>
    <?php

    Aus dem gleichen Grund ist es besser, halten Sie Ihre JavaScript in eine externe Datei und anfügen von Ereignishandlern mit addEventListener () statt onFOO Attribute.

    • Ich getrennt den php-code vom HTML-tags und es funktionierte. Ich danke Ihnen so sehr für Ihre ausführliche Antwort.
  2. 0

    Diese arbeiten

      <form method='POST' action='delete.php' onsubmit="return confirm('Are you sure you want to submit this form?');">
    <input type='image' src='images/delete.png' class='del' alt='Submit Form' /></form>
    • Das ist, was die OP sagten, Sie tun würden.
    • Wenn es für Sie funktioniert, funktioniert aber nicht für die OP, dann sagen Sie Ihnen, zu tun, was Sie tun, schon gar nicht lösen Ihr problem, nicht wahr?
    • ich glaube, Sie vergessen, </form> oder sowas, kopieren Sie den obigen code, und überprüfen Sie es für Sie arbeitet oder nicht
    • Das weglassen des end-Tags macht es keinen Unterschied, jsbin.com/faloboveyo/1/edit?html,Ausgang arbeiten
    • Ich weiß nicht warum, es schien nicht zu funktionieren. danke trotzdem für deine Antwort.
  3. -1

    Die beste Lösung, wenn Sie jQuery verwenden auf Ihrer Website.

    Methode jQuery

    Ihre HTML:

    <form class="sendingForm" method='POST' action='delete.php'> 
        <input type='image' src='images/delete.png' class='del' alt='Submit Form' />
    </form>

    Also ich habe eine Klasse: sendingForm

    Ihre JavaScript-Abschnitt:

    $(".sendingForm").submit(function() {
        if (confirm("Please confirm!")) return true;
        else return false;       
    });


    Sie können es überprüfen: http://jsfiddle.net/d6gem0ty/

    Methode inline

    Die kürzeste Lösung ist vielleicht einfacher. Hier haben nur HTML und ein onclick-Ereignis.

    <form class="sendingForm" method='POST' action='delete.php'>
    <input onclick="return confirm('Please confirm!')"  type='image' src='images/delete.png' class='del' alt='Submit Form' />

    Können Sie es überprüfen: http://jsfiddle.net/d6gem0ty/1/

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.