在java web编程中,我们总会碰到申请某项事件,申请完以后,你的申请按钮必定要 变为已申请,这样能够防止重复不断的申请的情况,我的源代码是这样的:
<td><a id="id1" href='appChange.action?attid=<s:property value="id"/>'>申请改变</a></td>
在点击申请变动之后,我想让这个申请变动变为已申请,然后无法再次点击。请各路大神指点小弟,小弟对网页这一块不是很熟悉,求指导。
------解决思路----------------------
<%
String anu=" ";//提交按钮的属性
int yest=0;//作为业务判断 0表示未提交,1 表示数据库中已有此业务
if(yest==1)
anu="disabled value='已申请' ";
%>
<input type="submit" name="submit" <%=anu%> value="申请改变">
------解决思路----------------------
楼上们说的都很片面,我来给你解答一下。
这个问题分两步搞:
1.在前台,就是你说的页面做限制,点击提交后,将提交按钮的disable设置为true,name改为已提交,用户就不能再点了。但是这样还是会有问题,若是由于浏览器等客户端原因(或者有人手工改js去掉你的程序)导致这个按钮还是能点,你后台不就乱了么。
2.前台搞定后,在后台,一定要再次限制,方式比较多,比如在你数据库表中个标记字段,每次提交时候都去查一下,保证不会重复提交等等,这才是重中之重,注意,一定不能让客户端进行如此有风险的操作。
这是做系统一定要注意的,要是上线后出现一次这种情况你排查就会非常困难,而且要是关键业务你们的系统很可能会被停掉下线,请给全分,谢谢