我遇到了一个小的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有限,我不知道在哪里?非常感谢任何指针或建议。提前谢谢。
答案 0 :(得分:2)
您可以在if (data.match...)
内添加,如下所示:
if (data.match("success") != null){
$('#contactform')[0].reset();
}
答案 1 :(得分: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();
}