在下面的函数中,重置表格不起作用!
$('#myform').submit(function (event) {
event.preventDefault();
$.post($(this).attr('action'), $(this).serialize(), function(data, status)
{
$(this)[0].reset(); // error : $(...)[0].reset is not a function
}
}
如何解决 谢谢
答案 0 :(得分:2)
怎么样:
$('#myform').submit(function (event) {
event.preventDefault();
$.post($(this).attr('action'), $(this).serialize(), function(data, status)
{
// post callback function - $(this) is no longer 'myForm'
}
$(this).trigger('reset'); // trigger form reset after $.post()
}
您希望确保表单在表单重置之前成功发布,因此可能在$ .post()回调中您可以设置变量,然后在触发重置之前检查它。
这样的事情:
var can_reset = false;
$('#myform').submit(function (event) {
event.preventDefault();
$.post($(this).attr('action'), $(this).serialize(), function(data, status)
{
// unsure if your response returns data.success - just an example
if (data.success == true) {
can_reset = true;
}
}
if (can_reset) {
$(this).trigger('reset');
}
}