我试图阻止系统用户在Oracle ApEx中不按两次“提交”按钮,但我不确定如何使用jQuery来定位以下代码,即:
<a href="javascript:doSubmit('MY_SUBMIT')"> <img border="0" id="MS_BTN" alt="Submit Request" src="submit_btn.gif"> </a>
我基本上想确保所有必需的表单验证都已通过,当用户按下“提交”按钮时,我想以某种方式在按下后立即隐藏按钮.
我尝试了以下代码,因为我不能使用src值,即:
$("a:contains('MY_SUBMIT')").hide();
但这没效果.
有人可以帮助我如何将此按钮添加到onclick事件,并基本上隐藏成功初始点击用户的这个按钮?
谢谢.
解决方法
以下是如何使用jQuery执行此操作的示例:
HTML:
<a id="mySubmit" href="#"> <img border="0" alt="Submit Request" src="submit_btn.gif"> </a>
代码(在文档加载后运行):
$("#mySubmit").click(function(event) { $(this).hide(); // do other stuff here return(false); });
并且,一个工作示例:http://jsfiddle.net/jfriend00/CtpLU/
或者,你可以只使用图像,而不是< a>像这样的标签:
<img id="mySubmit" border="0" alt="Submit Request" src="submit_btn.gif"> $("#mySubmit").click(function(event) { $(this).hide(); // do other stuff here return(false); });
除隐藏按钮之外的其他可能解决方案是:
>设置您已提交的标志,不要再次执行.>记录上次提交的时间,并且在一段时间内(如5分钟内)不允许两次提交.>取消绑定事件处理程序,以便单击“提交”按钮不再执行任何操作.>将服务器编码为在一段时间内忽略来自同一客户端的两个提交.