关于使用js进行表单提交操作引发的表单重复提交问题
2014-02-23 23:46
716 查看
现在,很多富客户端的js框架层出不穷。虽然给我们提供简单美观的UI设计,减轻了程序员的负担
,但是随之而来的也带来一些不恰当的使用可能会引发的错误操作。
1、下面举一个在使用EasyUI进行表单提交过程中出现的错误操作:
<script type="text/javascript">
$().ready(function(){
});
function newbackup(){
$('#save-new').bind('click', function(){
$('#f-new').form('submit',{
});
});
}
</script>
注:只给出核心部分,newbackup函数在调用时都会打开一个窗口,窗口内有一个id为save-now的按钮和一个id为f-new的表单,当点击save-now按钮后就会提交id为f-new的表单
错误:当页面载入后,第一次能够正常提交请求。当再次打开窗口,提交新的数据时,会发出多次重复的请求。
分析:同一个按钮,当使用Ajax方式提交请求时,由于页面没有刷新,因此不能重复为同一个按钮绑定多个相同的事件,否则则会出现上述的表单重复提交的问题。
解决方法:在页面加载完成后,就为其绑定事件(此时只绑定了一次)即:
<script type="text/javascript">
$().ready(function(){
$('#save-new').bind('click', function(){
$('#f-new').form('submit',{
});
});
});
function newbackup(){
}
</script>
或者在每次绑定之前,先对过去绑定的事件进行解绑,即
<script type="text/javascript">
$().ready(function(){
});
function newbackup(){
$('#save-new').unbind('click');
$('#save-new').bind('click', function(){
$('#f-new').form('submit',{
});
});
}
</script>
小提示:只要不为未重新载入的页面中的同一个按钮重复绑定事件,即可杜绝此类重复提交操作的发生。
,但是随之而来的也带来一些不恰当的使用可能会引发的错误操作。
1、下面举一个在使用EasyUI进行表单提交过程中出现的错误操作:
<script type="text/javascript">
$().ready(function(){
});
function newbackup(){
$('#save-new').bind('click', function(){
$('#f-new').form('submit',{
});
});
}
</script>
注:只给出核心部分,newbackup函数在调用时都会打开一个窗口,窗口内有一个id为save-now的按钮和一个id为f-new的表单,当点击save-now按钮后就会提交id为f-new的表单
错误:当页面载入后,第一次能够正常提交请求。当再次打开窗口,提交新的数据时,会发出多次重复的请求。
分析:同一个按钮,当使用Ajax方式提交请求时,由于页面没有刷新,因此不能重复为同一个按钮绑定多个相同的事件,否则则会出现上述的表单重复提交的问题。
解决方法:在页面加载完成后,就为其绑定事件(此时只绑定了一次)即:
<script type="text/javascript">
$().ready(function(){
$('#save-new').bind('click', function(){
$('#f-new').form('submit',{
});
});
});
function newbackup(){
}
</script>
或者在每次绑定之前,先对过去绑定的事件进行解绑,即
<script type="text/javascript">
$().ready(function(){
});
function newbackup(){
$('#save-new').unbind('click');
$('#save-new').bind('click', function(){
$('#f-new').form('submit',{
});
});
}
</script>
小提示:只要不为未重新载入的页面中的同一个按钮重复绑定事件,即可杜绝此类重复提交操作的发生。
相关文章推荐
- Js 中关于注册表单,使用onsubmit进行拦截提交,并判断用户填写的内容是否正确
- Laravel 中使用 Vue.js 实现基于 Ajax 的表单提交错误验证操作
- 使用js进行表单验证提交
- 关于js传递中文与js提交表单问题
- jQuery.form.js进行表单提交,中文乱码问题及解决
- form表单提交和ajax表单提交,关于移动端如何通过软键盘上的【搜索】和【前进】进行提交操作
- IE下使用form表单提交到iframe中出现的重复提交问题
- 关于表单重复提交的问题
- 关于SubSonic3.0插件使用实体进行更新操作时(执行T.Update()或T.Save()),某些列无法进行修改操作的问题处理
- 一直复略了的一个问题,关于表单重复提交
- js模拟form表单提交数据, js模拟a标签点击跳转,避开使用window.open引起来的浏览器阻止问题
- 使用js进行防止重复提交
- 关于在frame或iframe使用filter进行提交主页转向问题
- 使用jquery.form.js 进行表单提交,通过回调函数实现页面互动
- 关于验证表单重复提交的问题
- 关于使用jquery.form.js上传文件同时提交表单的方法
- 关于layer.js 弹出框表单提交关闭父窗口出现表单提交失效的问题
- JS return false 与 return true(解决表单重复提交的问题)
- js 在表单提交前进行操作
- 关于js中按钮类型是image时表单验证问题---点击一次可以验证再次点击直接提交--的问题