Javascript 提交表单后如何隐藏表单
我不太擅长编程。我正在研究一个特性,即表单数据提交后的表单隐藏。这里是动态创建的表单数。我需要在提交表单数据后隐藏表单,以防止多次提交表单。在这里,我使用了div内部的表单,我也尝试了div隐藏。它不工作,请让我知道解决方案Javascript 提交表单后如何隐藏表单,javascript,jquery,html,ajax,Javascript,Jquery,Html,Ajax,我不太擅长编程。我正在研究一个特性,即表单数据提交后的表单隐藏。这里是动态创建的表单数。我需要在提交表单数据后隐藏表单,以防止多次提交表单。在这里,我使用了div内部的表单,我也尝试了div隐藏。它不工作,请让我知道解决方案 $(文档).ready(函数(){ $(“.nav选项卡a”)。单击(函数(){ $(this.tab('show'); }); }); 函数frmsubmit() { var frm=document.getElemetsByName('formdata')[0];
$(文档).ready(函数(){
$(“.nav选项卡a”)。单击(函数(){
$(this.tab('show');
});
});
函数frmsubmit()
{
var frm=document.getElemetsByName('formdata')[0];
frm.submit();
frm.reset();
返回false;
}
$('#提交0')。单击(函数(){
$.ajax({
url:“section.php?status=result”,
数据:$('#f_0')。序列化(),
成功:功能(数据)
{
警报(数据);
$('f#u 0')[0].reset();
}
});
});
//Haven为submit_0和submit_10编写了相同的代码
输入值:
- 一个可笑的简化版本,你正在尝试做什么。div中的一个表单,带有一个jqueryonclick钩子,它将在提交时隐藏div
$(“#提交”)。单击(函数(){
$('f#u 0')。隐藏();
返回false;
});代码>
一个可笑的简化版,你正在尝试做的事情。div中的一个表单,带有一个jqueryonclick钩子,它将在提交时隐藏div
$(“#提交”)。单击(函数(){
$('f#u 0')。隐藏();
返回false;
});代码>
您可能不需要同时使用input type=“submit”
和onclick
事件处理程序,submit
输入就足够了
此外,还需要防止提交按钮的默认行为,因为ajax用于提交表单数据
将输入类型“submit”
替换为
<input class="btn btn-info" type="submit" name="submit" id="someId" value="submit">
要防止默认行为,请添加event.preventDefault()代码>。在ajax成功代理中,从主体隐藏表单的事件
$('#submitButtonId').click(function(e) {
e.preventDefault();
var form = $(this).parents('form.someFormClass');
$.ajax({
//Rest of the code
success:function(){
$('body').find(form).hide()
}
})
});
希望这个伪代码会有用您可能不需要同时使用input type=“submit”
和onclick
事件处理程序,submit
输入就足够了
此外,还需要防止提交按钮的默认行为,因为ajax用于提交表单数据
将输入类型“submit”
替换为
<input class="btn btn-info" type="submit" name="submit" id="someId" value="submit">
要防止默认行为,请添加event.preventDefault()代码>。在ajax成功代理中,从主体隐藏表单的事件
$('#submitButtonId').click(function(e) {
e.preventDefault();
var form = $(this).parents('form.someFormClass');
$.ajax({
//Rest of the code
success:function(){
$('body').find(form).hide()
}
})
});
希望这个伪代码会有用
@AvinashT但是是否正在进行ajax调用
@调用gurvinder372 ajax,表单数据进入表中
成功地
基于以上讨论,您只需要在成功处理程序中添加这一行,以隐藏表单
$('#submit_0').closest( "form" ).hide()
这里是动态创建的表单数。我需要把表格藏起来一次
我们提交表单数据,以防止多次提交表单
表单被多次提交,因为您有两个处理程序(一个是通过onclick
,另一个是通过submit
单击事件处理程序)
您需要从表单标记中删除onclick=“frmsubmit()”
,因为submit
click事件处理程序已经负责表单提交
@AvinashT但是是否正在进行ajax调用
@调用gurvinder372 ajax,表单数据进入表中
成功地
基于以上讨论,您只需要在成功处理程序中添加这一行,以隐藏表单
$('#submit_0').closest( "form" ).hide()
这里是动态创建的表单数。我需要把表格藏起来一次
我们提交表单数据,以防止多次提交表单
表单被多次提交,因为您有两个处理程序(一个是通过onclick
,另一个是通过submit
单击事件处理程序)
您需要从表单标记中删除onclick=“frmsubmit()”
,因为submit
click事件处理程序已经在处理表单提交。为什么不从form
标记中删除onclick=“frmsubmit()”
,然后重试。为什么为提交按钮设置动态id?@gurvinder372不起作用。。。如果不调用函数,则无法调用它。您需要这样的内容:success:function(data){$(''form_id').hide()}
@AvinashT但是是否正在进行ajax调用?为什么不删除onclick=“frmsubmit()”
从表单
标记并重试。为什么要为提交按钮设置动态id?@gurvinder372不工作。。。如果不调用函数,它就不能被调用。您需要这样的东西:success:function(data){$('#form_id').hide()}
@AvinashT但是ajax调用是否正在进行?我已经按照上面的方式修改了代码,一旦我提交第一个表单,所有表单都将隐藏,而不是提交表单。在上面的建议中,所有表单的类名都是相同的,在ajax中,我们通过类名隐藏它,这样它就可以隐藏所有表单。@Avinash没有修改代码,或者如果您确定可以执行的id($(“body#formId”)。hide()
谢谢您的解决方案,我已经用formId尝试过了,效果很好。。谢谢你:“AvinashT,请考虑投票并接受它作为答案。这个解决方案对你有用,我已经按照上面的代码修改了,一旦我提交了第一表格,所有的表格都是隐藏的而不是提交的表格。在上面的建议中,所有表单的类名都是相同的,在ajax中,我们通过类名隐藏它,这样它就可以隐藏所有表单。@Avinash没有修改代码,或者如果您确定可以执行的id($(“body#formId”)。hide()
谢谢您的解决方案,我已经用formId尝试过了,效果很好。。谢谢你:“AvinashT,请考虑投票并接受它作为答案。