Gist of my HTML (tenho vários formulários na mesma página)
<tr>
<form method="post" class="save-form" id="93">
<td>
<a href="#" class="edit">Edit</a> <input type="submit" value="save" name="save" class="save hidden" />
</td>
<td class="center gray">
<input type="text" value="234" name="views" />
</td>
</form>
</tr>
Eu estou usando o jQuery Form Plugin.
$(".save-form").each(function() {
$(this).ajaxForm({
beforeSubmit: function() {
//
},
success: function(data) {
//
}
});
});
$(".save-form").submit(function() {
$(this).parent().find("a.edit").show();
$(this).parent().find("input.save").hide();
// $(this).parent().find("input").attr("disabled", "disabled");
});
Tudo isso funciona bem.
Mas eu quero mudar tudo de $(".save-form").submit(function() {
para dentro success:
. Eu não consegui descobrir com o HTML que tenho ..
Eu também quero desativar o save
entrada após o formulário ter sido enviado. Se eu tentar com $(".save-form").submit(function() {
, desabilita a entrada, MAS não enviará os dados de entrada - acho que a entrada está sendo desabilitada antes de ser processada. Se estiver desabilitada por dentro success:
deve funcionar, mas também não consigo descobrir.
Como posso processar o formulário e desativar as entradas?
Respostas:
2 para resposta № 1Verifique isso: http://jsfiddle.net/niski/JjBTk/
1 para resposta № 2
Eu diria que você deveria tentar assim:
$(".save-form").each(function() {
var form = this;
$(this).ajaxForm({
beforeSubmit: function() {
$(form).parent().find("input.save").attr("disabled", "disabled");
},
success: function(data) {
$(form).parent().find("a.edit").show();
$(form).parent().find("input.save").hide();
}
});
});