javascript serialize 是否有“提交后”jquery选项?




jquery.form.js用法 (4)

我有一个表单,用于上传文件并在页面上定位iframe。 当用户单击提交时,我希望文件内容“清除”。

我试过这个

$('#imageaddform').submit(function(){
    $('#imagefile').val('');
});

但是它会在提交之前清除表单,因此不会上传任何内容。

提交后如何清除?


如果你没有绑定其他处理程序,你可以这样做:

$('#imageaddform').submit(function(e) {
    e.preventDefault(); // don't submit multiple times
    this.submit(); // use the native submit method of the form element
    $('#imagefile').val(''); // blank the input
});

Lonesomeday的解决方案对我有用,但对于Google Chrome我发现它仍然会提交空表单数据,除非我添加了这样的超时:

$('#imageaddform').submit(function(e) {
    e.preventDefault(); // don't submit multiple times
    this.submit(); // use the native submit method of the form element

    setTimeout(function(){ // Delay for Chrome
        $('#imagefile').val(''); // blank the input
    }, 100);
});

你是如何提交表格的? 如果这是正常形式的帖子然后页面不会存在,在这种情况下,我想知道你是否想要在页面刷新之前清除表单,以便当用户回来时他没有看到填充的值。

如果表单是由ajax提交的,那么你可以

function(){
 $('form1')[0].submit();
 clearForm();
}

我错过了这个问题吗?


你可以这样做:

$('#imageaddform').submit(function(){
  setTimeout(function() {
    $('#imagefile').val('');
  },100);
});






forms