Javascript 提交表单后如何隐藏表单

Javascript 提交表单后如何隐藏表单,javascript,jquery,html,ajax,Javascript,Jquery,Html,Ajax,我不太擅长编程。我正在研究一个特性,即表单数据提交后的表单隐藏。这里是动态创建的表单数。我需要在提交表单数据后隐藏表单,以防止多次提交表单。在这里,我使用了div内部的表单,我也尝试了div隐藏。它不工作,请让我知道解决方案 $(文档).ready(函数(){ $(“.nav选项卡a”)。单击(函数(){ $(this.tab('show'); }); }); 函数frmsubmit() { var frm=document.getElemetsByName('formdata')[0];

我不太擅长编程。我正在研究一个特性,即表单数据提交后的表单隐藏。这里是动态创建的表单数。我需要在提交表单数据后隐藏表单,以防止多次提交表单。在这里,我使用了div内部的表单,我也尝试了div隐藏。它不工作,请让我知道解决方案


$(文档).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,请考虑投票并接受它作为答案。