如何修改提交变为已提交并 不可用。

时间:2022-08-26 13:04:23
在java web编程中,我们总会碰到申请某项事件,申请完以后,你的申请按钮必定要 变为已申请,这样能够防止重复不断的申请的情况,我的源代码是这样的:

<td><a id="id1" href='appChange.action?attid=<s:property value="id"/>'>申请改变</a></td>

在点击申请变动之后,我想让这个申请变动变为已申请,然后无法再次点击。请各路大神指点小弟,小弟对网页这一块不是很熟悉,求指导。

10 个解决方案

#1


设置一下disabled属性不可以吗。

#2


ajax...

#3


引用 1 楼 yangqiu0928 的回复:
设置一下disabled属性不可以吗。
如何设置disabled属性,小弟新手,不懂

#4


楼上正解+1 用jQuery("#id1").attr("disable")=true; jQuery("#id1").text()="已申请"; 

#5


引用 1 楼 yangqiu0928 的回复:
设置一下disabled属性不可以吗。


如何使用ajax,我这方面看的很少,能够说的具体一点吗?谢谢了

#6


引用 4 楼 tuable 的回复:
楼上正解+1 用jQuery("#id1").attr("disable")=true; jQuery("#id1").text()="已申请"; 

我试试哈!

#7


引用 4 楼 tuable 的回复:
楼上正解+1 用jQuery("#id1").attr("disable")=true; jQuery("#id1").text()="已申请"; 


能够稍微说的具体一点吗?怎样设置jquery,小弟新手,相信这个问题很普遍。

#8


这个是一个流程  已申请应该是一个流程状态  而不是一个动作   申请按钮在点完之后  不应该改变按钮名字 而是应该直接消失  状态栏变成已申请 

#9



<%

String anu=" ";//提交按钮的属性
int yest=0;//作为业务判断  0表示未提交,1 表示数据库中已有此业务
  if(yest==1)
      anu="disabled   value='已申请'  ";

%>
    <input type="submit" name="submit"   <%=anu%>  value="申请改变">
 

#10


楼上们说的都很片面,我来给你解答一下。

这个问题分两步搞:

1.在前台,就是你说的页面做限制,点击提交后,将提交按钮的disable设置为true,name改为已提交,用户就不能再点了。但是这样还是会有问题,若是由于浏览器等客户端原因(或者有人手工改js去掉你的程序)导致这个按钮还是能点,你后台不就乱了么。

2.前台搞定后,在后台,一定要再次限制,方式比较多,比如在你数据库表中个标记字段,每次提交时候都去查一下,保证不会重复提交等等,这才是重中之重,注意,一定不能让客户端进行如此有风险的操作。


这是做系统一定要注意的,要是上线后出现一次这种情况你排查就会非常困难,而且要是关键业务你们的系统很可能会被停掉下线,请给全分,谢谢

#1


设置一下disabled属性不可以吗。

#2


ajax...

#3


引用 1 楼 yangqiu0928 的回复:
设置一下disabled属性不可以吗。
如何设置disabled属性,小弟新手,不懂

#4


楼上正解+1 用jQuery("#id1").attr("disable")=true; jQuery("#id1").text()="已申请"; 

#5


引用 1 楼 yangqiu0928 的回复:
设置一下disabled属性不可以吗。


如何使用ajax,我这方面看的很少,能够说的具体一点吗?谢谢了

#6


引用 4 楼 tuable 的回复:
楼上正解+1 用jQuery("#id1").attr("disable")=true; jQuery("#id1").text()="已申请"; 

我试试哈!

#7


引用 4 楼 tuable 的回复:
楼上正解+1 用jQuery("#id1").attr("disable")=true; jQuery("#id1").text()="已申请"; 


能够稍微说的具体一点吗?怎样设置jquery,小弟新手,相信这个问题很普遍。

#8


这个是一个流程  已申请应该是一个流程状态  而不是一个动作   申请按钮在点完之后  不应该改变按钮名字 而是应该直接消失  状态栏变成已申请 

#9



<%

String anu=" ";//提交按钮的属性
int yest=0;//作为业务判断  0表示未提交,1 表示数据库中已有此业务
  if(yest==1)
      anu="disabled   value='已申请'  ";

%>
    <input type="submit" name="submit"   <%=anu%>  value="申请改变">
 

#10


楼上们说的都很片面,我来给你解答一下。

这个问题分两步搞:

1.在前台,就是你说的页面做限制,点击提交后,将提交按钮的disable设置为true,name改为已提交,用户就不能再点了。但是这样还是会有问题,若是由于浏览器等客户端原因(或者有人手工改js去掉你的程序)导致这个按钮还是能点,你后台不就乱了么。

2.前台搞定后,在后台,一定要再次限制,方式比较多,比如在你数据库表中个标记字段,每次提交时候都去查一下,保证不会重复提交等等,这才是重中之重,注意,一定不能让客户端进行如此有风险的操作。


这是做系统一定要注意的,要是上线后出现一次这种情况你排查就会非常困难,而且要是关键业务你们的系统很可能会被停掉下线,请给全分,谢谢