在java jsp中怎么处理用户多次点击提交按钮造成数据重复。 10

在表单提交的时候用jquery需要做一些有效性验证,所以在点击按钮的时候设置按钮不可用是行不通的。如果表单里的信息无效这时把提交按钮禁用了不好。项目中控制器用的是spri... 在表单提交的时候用jquery需要做一些有效性验证 ,所以 在点击按钮的时候 设置按钮不可用是行不通的。如果表单里的信息无效 这时把提交按钮禁用了 不好。项目中控制器用的是spring的mvc框架控制的。 希望各位大哥哥大姐姐 们给个解决的方法。先谢谢了!!
先谢谢各位的帮助了!!!
在我的表单中有30多个文本域 、有复选框、下列表、file控件,其中有手机号、这个手机号在数据库中是唯一的,所以在表单提交的时候要先去后台进行比较,进行唯一性约束。但是在重复点击按钮的时候 ,却不提示。后来同一条相同的记录在数据库中有多条,也就是这个手机号码也是重复的。
对于用 js做验证 我也试过了,,我的表单验证用的是jquery验证组件,我也试过在submit后的js代码不管验证通过不通过都会执行的。我也想的是如果验证不通过 submit 后的内容不执行。
展开
 我来答
牧镶露9L
2011-07-21 · TA获得超过172个赞
知道答主
回答量:133
采纳率:0%
帮助的人:0
展开全部
如果js验证通过,再把button设为不可用
防止因为网络问题多次提交

----------------
都说这么清楚了你还要怎么说??????
js只能进行简单的表单验证,例如为不为空 和 文本格式等
ajax是异步的,也就是说你submit事件和判断手机号存不存在不会等待你是否判断完成的!!!
你把手机号的判断写提交里当然没反应!!
所以你需要先判断手机号,再决定是否提交
方法1:手机号的控件失去焦点事件onblur()失去焦点时将请求后台判断是否存在,如果存在提交按钮设为可用,不存在则为不可用并提示!
方法2:写一个form的提交function,假设你的form的name为formA
function sub_form(){
$.post("xxx.action",param,function(result){
if(result){
// 验证其他表单信息的方法
if(vali()){
formA.submit();
}
}
});
}
更多追问追答
追问
非常感谢你的帮助,我在表单提交的时候用的是jquery的验证组件用remote当手机文本域有变化时就会去后台验证的,我也是很纳闷,做了验证,网速慢,但是在重复提交按钮的时候就不会去验证了.可能是卡到后台了.所以最后我在后台controller中进行验证的在新增的时候先用手机号去查询看数据库中时候有记录,如果没有再进行新增 如果有了,就跳过.我也在网上看了有什么token 可以很好的解决.不知在下是否了解.能给点详细的帮助不?
追答
总之就是保证手机号与数据库比对不存在之前提交按钮不可用
或者
提交重写个事件,先比对手机号 把form.submit写在ajax的回调函数里
就是要保持状态的一致
我一直是这么解决的并且每问题
厉哲瀚5N
2011-07-21 · TA获得超过223个赞
知道小有建树答主
回答量:180
采纳率:0%
帮助的人:121万
展开全部
用jquery验证啊,
ajax把值传到后台数据库比较,存在了不让提交不久好了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
哥起不上名字
2011-07-21
知道答主
回答量:37
采纳率:0%
帮助的人:17.2万
展开全部
设置一个提交状态呗
提交的时候验证下
验证通过就改状态
下次提交验证就通不过啦
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
所夏侯岚0y
2011-07-21 · 超过10用户采纳过TA的回答
知道答主
回答量:109
采纳率:0%
帮助的人:53.9万
展开全部
用JS做验证,提交时会根据验证方法返回的true false自动提交或取消提交操作
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式