2013-08-03 10 views
8

Wenn der Benutzer auf die zweite Schaltfläche "Senden" klickt, d. H. No Ich möchte den Bestätigungsdialog als "Sind Sie sicher, dass Sie die Transaktion ausführen möchten" anzeigen.Wie Verwenden von onsubmit(), um eine Bestätigung anzuzeigen, wenn sich mehrere Senden-Schaltflächen in demselben Formular befinden?

+0

mögliches Duplikat von [Javascript onsubmit with form with multiple submits buttons] (http://stackoverflow.com/questions/13707633/javascript-onsubmit-with-form-with-multiple-submits-buttons) – totymedli

Antwort

19
<form method='post'> 
    <input type='submit' name='undo' value='Undo' onclick="return confirm('Are you sure you want to rollback deletion of candidate table?')"/> 
    <input type='submit' name='no' value='No' onclick="return confirm('Are you sure you want to commit delete and go back?')"/> 
</form> 

Gut gearbeitet. gerade geändert onsubmit() zu onclick(). da die Funktion beider in dieser Situation gleich ist.

0

Verwenden Sie einfach zwei der gleichen Form. Eine für jede Taste:

<form onsubmit="return confirm('Are you sure you want to rollback deletion of candidate table?')"> 
    <input type='submit' name='delete' value='Undo' /> 
</from> 
<form onsubmit="return confirm('Are you sure you want to rollback deletion of candidate table?')"> 
    <input type='submit' name='no' value='No' /> 
</from> 

Auch, wenn Sie Ihre Forschung getan würden Sie würden diese finden:

+0

dies ist üblich. Gibt es das sowieso mit mehreren Sendeschaltflächen in einer einzigen Form? – RatDon

2

Sie könnten an onclick statt an onsubmit binden - siehe unten.

<script> 
function submitForm() { 
    return confirm('Rollback deletion of candidate table?'); 
} 
<script> 

<form> 
    <input type='submit' onclick='submitForm()' name='delete' value='Undo' /> 
    <input type='submit' onclick='submitForm()' name='no' value='No' /> 
</form> 

oder alternativ mit jQuery:

<script> 
$(document).ready(function() { 
    $('form input[type=submit]').click(function() { 
     return confirm('Rollback deletion of candidate table?'); 
    }); 
}); 
<script> 
+1

Ich denke, die Frage wollte Schaltflächen, die unterschiedliche Bestätigungsmeldungen haben sollten. –

0
<form onsubmit="submitFunction();"> 
    <input type='submit' name='delete' value='Undo' /> 
    <input type='button' onclick="declineFunction()" name='no' value='No' /> 
</form> 

Ich würde versuchen, einen einreichen zu erstellen, sondern nur einen Knopf, der eine Onclick = "function()" hat und dann Javascript verwenden, um Setzen Sie eine Variable, um zu sehen, wie oft sie darauf geklickt hat und eine Warnung();

hoffe, das hilft: D

1

Hier ist ein Event-Listener-basierte Lösung, die Inline-Event-Handler vermeidet (nützlich, wenn Ihre Website ein Content Security Policy hat die Inline JavaScript verbietet):

HTML:

<form method="post"> 
    <input type="submit" id="deleteButton" name="delete" value="Undo" /> 
    <input type="submit" id="noButton" name="no" value="No" /> 
</form> 

JS:

document.getElementById("deleteButton").addEventListener("click", function(evt) { 
    if (!confirm("Are you sure you want to rollback deletion of candidate table?")) { 
     evt.preventDefault(); 
    } 
}); 

document.getElementById("noButton").addEventListener("click", function(evt) { 
    if (!confirm("Are you sure you want to commit the transaction?")) { 
     evt.preventDefault(); 
    } 
});