0

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

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

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

@EDIT:这是我的代码的一部分。整个代码变得太大,所以请查看这个 -

    <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>
4

1 回答 1

0

您可能需要共享您的代码。

但我要做的是在您的提交按钮上放置一个点击监听器。然后使用 prevent default 来阻止页面重新加载。

例如

$('#buttonID').click(function(event){
  event.preventDefault(); //important
  // calculations here
  // validate method

});

或者 mplungjan如前所述,您可以改用该submit事件form

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

});
于 2013-10-06T05:23:09.957 回答