Javascript 单击按钮时添加清除窗体和隐藏div
我以前有过这个问题,但人们一直误解我的问题。我会再试一次。我有一个bootstrat按钮,当单击javascript时,它会使用ajax发送表单。它可以正常工作,但我不能添加任何内容来清除表单,然后隐藏div。我有代码可以工作,但出于某些原因它会发送表单两次,没有包括在内,但如果您愿意,可以吗?很抱歉重复类似的问题,但人们一直给我相同的代码,根本不起作用。我想这和它是按钮类型有关 JS代码是:Javascript 单击按钮时添加清除窗体和隐藏div,javascript,Javascript,我以前有过这个问题,但人们一直误解我的问题。我会再试一次。我有一个bootstrat按钮,当单击javascript时,它会使用ajax发送表单。它可以正常工作,但我不能添加任何内容来清除表单,然后隐藏div。我有代码可以工作,但出于某些原因它会发送表单两次,没有包括在内,但如果您愿意,可以吗?很抱歉重复类似的问题,但人们一直给我相同的代码,根本不起作用。我想这和它是按钮类型有关 JS代码是: $(document).ready(function() { $('#btn-finish')
$(document).ready(function() {
$('#btn-finish').on('click', function() {
// Add text 'loading...' right after clicking on the submit button.
$('.output_message').text('Processing...');
var form = $(this);
$.ajax({
url: form.attr('action'),
method: form.attr('method'),
data: form.serialize(),
success: function(result){
if (result == 'success'){
$('.output_message').text('Message Sent!');
} else {
$('.output_message').text('Error Sending email!');
}
}
});
// Prevent default submission of the form after clicking on the submit button.
return false;
});
});
按钮是:
<button name ='send' value="Send" type='submit' class='btn btn-primary'>Finish</button>
下面是生成伪AJAX请求的代码。它将输出_消息替换为处理。。。并替换为已发送的消息!一旦完成 $document.readyfunction{ $'btn-finish'。单击时,functionevent{ 违约事件; //单击提交按钮后立即添加文本“加载…”。 $'.output_message'.text'Processing; var form=$this; setTimeoutfunction{ console.logajax; $'.output_message'.text'message Sent!'; //这将清除表单字段值。 //resetForm$'myform';//按id,推荐 //这将隐藏您的元素 //$'myform'。隐藏; }, 5000; }; }; 函数resetForm$form{ $form.find'input:text,input:password,input:file,select,textarea'.val; $form.find'input:radio,input:checkbox' .removeAttr“选中”。removeAttr“选中”; } 完成
这是w3schools.com上的重置表单脚本,应该可以使用 $document.readyfunction{ $'btn-finish'。单击,函数{
// Add text 'loading...' right after clicking on the submit button.
$('.output_message').text('Processing...');
var form = $(this);
$.ajax({
url: form.attr('action'),
method: form.attr('method'),
data: form.serialize(),
success: function(result){
if (result == 'success'){
document.getElementById(form.attr('id')).reset();
document.getElementById(form.attr('id')).style.display="none";
$('.output_message').text('Message Sent!');
} else {
$('.output_message').text('Error Sending email!');
}
}
});
// Prevent default submission of the form after clicking on the submit button.
return false;
});
})
请尝试按照上面的成功中所述放置代码以隐藏和清除表单。如果ajax响应为成功或错误,默认情况下,如果您想隐藏,请使用上述完整功能中的代码。发表您的评论。谢谢,但不要拒绝回答,我的代码已经工作了,但我希望它在成功后清除表单并隐藏div!!您可以重新编写在AJAX代码的成功方法中删除该代码。清除方法并隐藏div代码。这就是您缺少的吗?我有代码,但它与我尝试更新代码以重置表单字段并隐藏表单的方法不起作用。您需要将其替换为表单ID
success: function(result){
if (result == 'success'){
$('.output_message').text('Message Sent!');
//code to clear form and hide div comes here
$("#divid").hide();
} else {
$('.output_message').text('Error Sending email!');
}
},
complete: function(){
//code to clear form and hide div comes here
$("#divid").hide();
}