清除ajaxed表单的内容

时间:2013-08-27 16:23:51

标签: php javascript jquery ajax

从我的角度来看,这些类似问题都没有真正解决问题。

我有一个注册用户的表单。我使用.post来处理ajaxing。这是代码:

$('#register_user_form').submit(function(){
    $.post
    (
      $(this).attr('action'),
      $(this).serialize(),
      function(data){
        console.log(data);
        $('#alert_box2').html(data);
      },
      "json"
    );
    return false;
  });

我知道如果我在返回false之前添加$('#input_field_id').val(' ');,我就可以顺利通过。但我必须为每个输入字段执行此操作。有更有效的方法吗?也许将相同的类添加到所有字段并清除类的值?我有一种感觉,虽然这将被视为“坏代码”。

5 个答案:

答案 0 :(得分:5)

你能不能只重置表格吗?

this.reset();
return false;

答案 1 :(得分:3)

仅仅是:

$('input').val('');

此外,为您要清除的每个元素添加类名都没有错。

答案 2 :(得分:0)

猜测你的HTML,但你可以做这样的事情

$('#register_user_form :input').each(function() {
    $(this).val('');
})

答案 3 :(得分:0)

您可以为要清除并执行此操作的所有输入字段指定一个公共类名称。

$('classname').val('');

或使用

刷新
location.reload();

答案 4 :(得分:0)

试试这个。它只会清除您提交的特定表单上的输入值,因此如果这是一个问题,则不会清除整个文档。

$('#register_user_form').submit(function(){
    var ref = $(this);
    $.post
    (
      $(this).attr('action'),
      $(this).serialize(),
      function(data){
        console.log(data);
        $('#alert_box2').html(data);
        ref.children('input').each(function(){
            $(this).val('');
        });
      },
      "json"
    );
    return false;
  });