Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 表单提交后Jquery插入丢失_Javascript_Jquery_Html - Fatal编程技术网

Javascript 表单提交后Jquery插入丢失

Javascript 表单提交后Jquery插入丢失,javascript,jquery,html,Javascript,Jquery,Html,我有一个简单的对话框小部件,我正在使用它向服务器发送一些值,并向页面上显示的无序列表中添加一些内容。 例如,名称=矩阵a11=1 a12=2 a21=4 a22=1 因此,该数据将被传递到服务器,并且name属性将被附加到列表中 用户按submit键后,将调用Validate()例程,该例程验证条目,将名称条目附加到无序列表中并提交表单 但是,在提交表单后,页面将重新加载,追加内容将丢失。有没有办法避免这种情况?我知道这个附加在一瞬间起了作用,我实际上可以看到它,但随后页面重新加载,我们又回到了

我有一个简单的对话框小部件,我正在使用它向服务器发送一些值,并向页面上显示的无序列表中添加一些内容。 例如,名称=矩阵a11=1 a12=2 a21=4 a22=1 因此,该数据将被传递到服务器,并且name属性将被附加到列表中

用户按submit键后,将调用Validate()例程,该例程验证条目,将名称条目附加到无序列表中并提交表单

但是,在提交表单后,页面将重新加载,追加内容将丢失。有没有办法避免这种情况?我知道这个附加在一瞬间起了作用,我实际上可以看到它,但随后页面重新加载,我们又回到了开始

@编辑:这是我代码的一部分。整个代码变得太大,因此请查看此-

    <script>
    $('#form1').submit(function(event){
        event.preventDefault();
        //Validate is a function which returns a bool if validation proceeds correctly
        var isCorrect = Validate(this);
        if(isCorrect){
        //if validated correctly then submit, close widget, add name of matrix to a list

            this.submit();  
            $('#dialog').dialog('close'); //the form sits inside a dialog widget
            $('#selectable').append("<li class='ui-widget-content'>name</li>"); 
        } 

    });
    </script>
    <form name='form1' id='form1'  method='get'>
<fieldset>
    <label for="Name">Name</label>
    <input type='text' name='nameofmatrix' id='Name' class='whitepanes'><br>
    <label for="a11">a11</label>
    <input type="text" name='a11' id='a11' class='whitepanes number-field'><br>
    <label for="a22">a22</label>
    <input type="text" name='a22' id='a22' class='whitepanes number-field'><br>
    <label for="a12">a12</label>
    <input type="text" name='a12' id='a12' class='whitepanes number-field'><br>
    <label for="a21">a21</label>
    <input type="text" name='a21' id='a21' class='whitepanes number-field'><br>
    <input type='submit' name='mysubmit' id='submit_button'  value='submit'>
    <button id='cancel_button'>cancel</button>
</fieldset>
</form>

$('#form1')。提交(函数(事件){
event.preventDefault();
//Validate是一个函数,如果验证正确进行,它将返回bool
var isCorrect=验证(此);
如果(不正确){
//若验证正确,则提交,关闭小部件,将矩阵名称添加到列表中
这个。提交();
$('#dialog').dialog('close');//表单位于对话框小部件中
$('#可选')。追加(
  • 名称
  • ); } }); 名称
    a11
    a22
    a12
    a21
    取消
    您可能需要共享您的代码

    但我要做的是在你的提交按钮上放一个点击监听器。然后使用“防止默认值”停止重新加载页面

    e、 g

    或者如
    mplungjan
    所述,您可以在
    表单上使用
    submit
    事件

    $('#formID').submit(function(event){
      event.preventDefault(); //important
      // calculations here
      // validate method
    
    });
    

    放置一些代码以供查看或更好地发布。您可以使用ajax防止通过表单提交重新加载页面。不要在提交事件中提交表单,如果您想留在页面上,请确保不要提交表单。相反,使用$。在我看来,假设表单提交事件更好!嘿,特雷弗,分享了一些代码(我本来应该这么做的,但有些懒惰)。我已经在做一些和你贴的类似的事情了。问题是,一旦您在验证后提交,页面将重新加载,并且我所做的列表插入在验证后消失。哦,所以您确实需要提交表单。而不是
    this.submit()
    您可以使用ajax回调进行
    ajax
    调用来提交表单,而无需重新加载页面。关于ajax调用的有用链接。@新的web程序员如果回答了您的问题,请将此答案标记为已接受。否则,对不起作用的内容进行反馈。谢谢
    $('#formID').submit(function(event){
      event.preventDefault(); //important
      // calculations here
      // validate method
    
    });