是否有“提交后”jQuery选项?

时间:2011-03-02 15:12:33

标签: javascript jquery forms form-submit

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

我试过这个

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

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

提交后如何清除?

4 个答案:

答案 0 :(得分:37)

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

$('#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
});

答案 1 :(得分:25)

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);
});

答案 2 :(得分:4)

你可以这样做:

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

答案 3 :(得分:2)

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

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

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

我错过了这个问题吗?