首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Firefox提交表单,即使是在有警报的情况下

Firefox提交表单,即使是在有警报的情况下
EN

Stack Overflow用户
提问于 2011-04-10 21:45:50
回答 2查看 501关注 0票数 0

我们有一个要求,如果用户点击任何链接,他应该不能点击任何其他link.to实现这一点,我们已经写了一个java脚本与增量counter.In的情况下,如果用户已经点击了任何链接,我们会显示一个警报框与一些message.On IE它的工作正常,在火狐,我得到了第二次点击的警报,但火狐不会停止处理第一个请求和刷新页面,即使警示框是原封不动。我们通过显式的java脚本提交表单。

嗨,所有的PFB片段

代码语言:javascript
运行
复制
<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>

表单提交脚本:

代码语言:javascript
运行
复制
<script>
function fnTest() {
        if(incrementCount()){
        document.FormName.method = "POST";
        document.FormName.action = "SomeURL";
        document.FormName.submit();     
        }else{
        return false;
        }
    }
    </script>

链接,我们通过该链接提交表单

代码语言:javascript
运行
复制
<a href="javascript:void(0);" onClick="return fnTest();" title="overview"><span>Test</span></a>
EN

回答 2

Stack Overflow用户

发布于 2011-04-10 21:50:27

你的问题不清楚。如果用户点击了提交按钮,他应该不能点击链接?你需要发布你的代码。

关于表单post,我猜您在提交时没有返回false

“在IE上工作正常,在火狐中,我收到了第二次点击的警告,但火狐不会停止处理第一个请求并刷新页面,即使警告框未被触动。”

好吧,怎么回事。Firefox会根据您的需要提交第一个请求,并在第二次单击时显示一个警告。IE有什么不同?FF是不是在做两次提交?

附言:你并不真的需要使用计数器。使用以下代码:

代码语言:javascript
运行
复制
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

在你的链接上变成:

代码语言:javascript
运行
复制
`<a href="#" id='mysubmitlink' title="overview"><span>Test</span></a>`
票数 1
EN

Stack Overflow用户

发布于 2011-04-10 22:01:08

你可以总是在你的onsubmit调用中返回false。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5612133

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档