我们有一个要求,如果用户点击任何链接,他应该不能点击任何其他link.to实现这一点,我们已经写了一个java脚本与增量counter.In的情况下,如果用户已经点击了任何链接,我们会显示一个警报框与一些message.On IE它的工作正常,在火狐,我得到了第二次点击的警报,但火狐不会停止处理第一个请求和刷新页面,即使警示框是原封不动。我们通过显式的java脚本提交表单。
嗨,所有的PFB片段
<script>
var counter = 0;
function incrementCount(){
if(counter>0){
alert('Your request already in progress. Please wait.');
return false;
}else{
counter=counter+1;
return true;
}
}
</script>表单提交脚本:
<script>
function fnTest() {
if(incrementCount()){
document.FormName.method = "POST";
document.FormName.action = "SomeURL";
document.FormName.submit();
}else{
return false;
}
}
</script>链接,我们通过该链接提交表单
<a href="javascript:void(0);" onClick="return fnTest();" title="overview"><span>Test</span></a>发布于 2011-04-10 21:50:27
你的问题不清楚。如果用户点击了提交按钮,他应该不能点击链接?你需要发布你的代码。
关于表单post,我猜您在提交时没有返回false
“在IE上工作正常,在火狐中,我收到了第二次点击的警告,但火狐不会停止处理第一个请求并刷新页面,即使警告框未被触动。”
好吧,怎么回事。Firefox会根据您的需要提交第一个请求,并在第二次单击时显示一个警告。IE有什么不同?FF是不是在做两次提交?
附言:你并不真的需要使用计数器。使用以下代码:
var handlers = {
alert : function(){
alert('Your request is already in progress. Please wait.')
return false
},
submitForm : function(){
this.onclick = handlers.alert //this refers to the a tag
document.FormName.submit()
}
}
document.getElementById('mysubmitlink').onclick = handlers.submitForm在你的链接上变成:
`<a href="#" id='mysubmitlink' title="overview"><span>Test</span></a>`发布于 2011-04-10 22:01:08
你可以总是在你的onsubmit调用中返回false。
https://stackoverflow.com/questions/5612133
复制相似问题