0

我遇到了一个完美提交的小型 javascript 表单的问题,它会显示成功消息但无法重置表单。数据保持可见,直到您手动刷新页面。

代码是:

jQuery(document).ready(function(){

    $('#contactform').submit(function(){

        var action = $(this).attr('action');

        $("#message").slideUp(750,function() {
        $('#message').hide();

        $('#submit')
            .after('<img src="images/ajax-loader.gif" class="loader" />')
            .attr('disabled','disabled');

        $.post(action, {
            name: $('#name').val(),
            email: $('#email').val(),
            phone: $('#phone').val(),
            subject: $('#subject').val(),
            comments: $('#comments').val(),
            verify: $('#verify').val()
        },
            function(data){
                document.getElementById('message').innerHTML = data;
                $('#message').slideDown('slow');
                $('#contactform img.loader').fadeOut('slow',function(){$(this).remove()});
                $('#submit').removeAttr('disabled');
                if(data.match('success') != null);

            }
        );

        });

        return false;

    });

});

我想知道是否可以添加重置命令,但由于我的 java 有限,我不确定在哪里?将不胜感激任何指针或建议。提前致谢。

4

2 回答 2

2

您可以将其添加到 中if (data.match...),如下所示:

if (data.match("success") != null){
   $('#contactform')[0].reset();
}
于 2013-04-10T20:46:09.410 回答
0

您需要手动清除/重置表单。当您使用 JQuery 发送请求时,它不像更改浏览器位置的表单操作。

成功发送数据后,只需调用 RESET 即可。

有关更多信息,请参阅:http ://www.w3schools.com/jsref/met_form_reset.asp

另一方面,如果您想将表单值重置为您指定的默认值,您可以创建一个函数,例如:

function resetFormValues() 
{ 
$('#name').val('name'); 
$('#email').val('email'); 
etc..
} 

并调用 resetFormValues(); 从您的代码中,例如:

if (data.match("success") != null){
   resetFormValues();
}
于 2013-04-10T20:47:07.527 回答