Usando diálogo jQuery UI para a ação de confirmação de envio do formulário
Pergunta
Eu tenho vários formulários de uma página, para cada um deles eu quero que o usuário confirme antes de envio do formulário. mas quando os usuário confirma a apresentar, como faço para deixar esse know diálogo que formam o usuário é sumbitting? Leva parâmetros personalizados? Obrigado.
$("#dialog-confirm").dialog({
resizable: false,
height:140,
modal: true,
buttons: {
'Confirm submit': function() {
document.______???????_____.submit();
},
Cancel: function() {
$(this).dialog('close');
}
}
});
$('.allForms').submit(function(){
$('#dialog-confirm').dialog('open');
});
Solução
Você pode armazená-lo em uma variável como este:
var currentForm;
$("#dialog-confirm").dialog({
resizable: false,
height:140,
modal: true,
buttons: {
'Confirm submit': function() {
currentForm.submit();
},
Cancel: function() {
$(this).dialog('close');
}
}
});
$('.allForms').submit(function(){
currentForm = this;
$('#dialog-confirm').dialog('open');
return false;
});
Uma vez que você está apenas usando este e imediatamente apenas deixar a página, não há razão real para fazer com que seja mais complicado do que isso.
Outras dicas
Ou como sobre
$(this.form).submit();
Com base Nick Craver sua resposta, você pode escrevê-lo desta maneira:
$('.allForms').submit(function(){
currentForm = this;
$('#dialog-confirm').dialog({
resizable: false,
height:140,
modal: true,
buttons: {
'Confirm submit': function() {
currentForm.submit();
},
Cancel: function() {
$(this).dialog('close');
}
}
});
return false;
});
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow