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