提交表单后重置表单字段

时间:2014-06-21 05:48:34

标签: javascript jquery forms

您好我使用jquery验证,我的表单验证并成功提交但包含以前数据的字段,我想在提交表单后重置字段。

$('#frm').reset(); is not working.

submitHandler: function(form)
{
    $.ajax({
        url: "contact_submit.php",
        type: "post",
        data: $("#frm").serialize(),
        success:function(response)                  
        {
            if(response)
            {
                $('#msg-valid').html('<img src="img/valid.png">Your form is submited, Thank You !');
                $('#frm').reset();
            }
            else{
                $('#msg-error').html('<img src="img/error.png">Your form is not submited');                         
            }
        }
    });
}

3 个答案:

答案 0 :(得分:4)

基本上.reset()是一个原生的javascript函数。您正尝试从包装的Jquery对象调用它。所以可能它会导致你的console出错,所以为了访问它,首先你必须从Jquery对象中提取javascript对象然后调用那个函数,如

$('#frm')[0].reset();

答案 1 :(得分:0)

尝试

$('#frm')[0].reset();

它将清除表单字段

答案 2 :(得分:0)

我发现,以下代码在提交后重置了表单。

submitHandler: function(form)
        {
            $.ajax({
                url: "contact_submit.php",
                type: "post",
                data: $("#frm").serialize(),
                success:function(response)

                {
                    if(response)
                    {
                    $('#msg-valid').html('<img src="img/valid.png">Your form is submited, Thank You !');

                        $(':input').not(':button, :submit, :reset, :hidden, :checkbox, :radio').val('');
                        $(':checkbox, :radio').prop('checked', false);

                    }
                    else{
                        $('#msg-error').html('<img src="img/error.png">Your form is not submited');

                    }
                }

            });

        }