サーバーにいくつかの値を送信し、ページに表示される順序付けられていないリストにも何かを追加するために使用している単純なダイアログウィジェットがあります。たとえば、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>