jquery dialogue: confirmer le clic sur un bouton soumettre
Je suis en train de faire une boîte de dialogue de confirmation à l'aide de jquery, mais la forme n'obtient pas soumis à tous, c'est ce que j'ai:
<script type="text/javascript">
var currentForm;
$(function() {
$("#dialog-confirm").dialog({
resizable: false,
height: 140,
modal: true,
autoOpen: false,
buttons: {
'Delete all items': function() {
currentForm.submit();
$(this).dialog('close');
},
Cancel: function() {
$(this).dialog('close');
}
}
});
});
function ask() {
currentForm = $(this).closest('form');
$("#dialog-confirm").dialog('open');
}
</script>
<form ... >
<input type="submit" value="delete" onclick="ask();return false;" />
</form>
OriginalL'auteur Omu | 2010-05-21
Vous devez vous connecter pour publier un commentaire.
Vous avez besoin d'avoir votre boîte de dialogue bouton soumettre le
<form>
, comme ceci:Le reste de votre code est correct, mais il est actuellement seulement la fermeture de la boîte de dialogue et revenir, vous devez soumettre le formulaire. Aussi, il est préférable de le faire en tant que gestionnaire de clic, au lieu de
onclick
, comme ceci (mis à jour pour les commentaires):Ensuite, il suffit de donner votre
<input>
une classe dedelete
, comme ceci:<input type="hidden" name='id' value='the id to be delted' />
qui fait la différence entre ces formesVous pouvez stocker un "currentForm =
$(this).closest('form')
dans la fonction de clic quand elle s'ouvre, puis il suffit d'appelercurrentForm.submit()
dans le bouton supprimer du gestionnaire, aucun Id nécessaire...et il suffit de changer le supprimer cliquez sur gestionnaire à utiliser une classe ou un attribut du sélecteur.Je voulais dire avec la réponse de l'approche 🙂 Ce que vous avez de ne pas travailler ensemble. La réponse est mis à jour, nous l'espérons montrer exactement ce que je veux dire.
Omu - assurez-vous que vous avez
return false
dans le gestionnaire de clic comme la réponse ne!Doh, de ma faute, n'avait même pas voir le modifier, merci pour améliorer pour les futures googlers 🙂
OriginalL'auteur Nick Craver
Si vous utilisez jQuery, puis faire correctement et d'éviter le Javascript en ligne:
OriginalL'auteur Seb
Cela a fonctionné pour moi:
Référence: http://jsfiddle.net/pmw57/67Ge2/
OriginalL'auteur JoshYates1980