web-dev-qa-db-fra.com

Comment utiliser onsubmit () pour afficher une confirmation s’il existe plusieurs boutons de soumission sur le même formulaire?

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

lorsque l'utilisateur clique sur le deuxième bouton de soumission, i.e No, je souhaite afficher le dialogue de confirmation sous la forme "Êtes-vous sûr de vouloir valider la transaction?".

8
RatDon
<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>

A bien fonctionné . Je viens de changer onsubmit() en onclick(). car la fonction des deux dans cette situation est la même.

21
RatDon

Vous pouvez vous connecter à onclick au lieu de onsubmit - voir ci-dessous.

<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>

Ou alternativement, en utilisant jQuery:

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

Voici une solution basée sur l'écouteur d'événements qui évite les gestionnaires d'événements en ligne (utile si votre site dispose d'une politique de sécurité du contenu qui interdit le JavaScript en ligne):

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();
    }
});
1
S. Jensen
<form onsubmit="submitFunction();">
    <input type='submit' name='delete' value='Undo' />
    <input type='button' onclick="declineFunction()" name='no' value='No' />
</form>

Je n'essaierais pas de créer une soumission, mais plutôt un bouton doté d'un onclick = "function ()", puis d'utiliser javascript pour définir une variable afin de voir combien de fois ils ont cliqué dessus et une alerte ();

espérons que cela aide: D

0
Tony Ventura