2011-04-10 67 views
0

我們有一個要求,如果用戶點擊任何鏈接,他不應該能夠點擊任何其他鏈接。爲了達到這個目的,我們寫了一個帶有遞增計數器的java腳本。如果用戶已經點擊了任何鏈接,我們會顯示一個帶有一些消息的警告框。在IE瀏覽器中它工作正常,在Firefox中,我獲得了第二次點擊的警報,但是Firefox不會停止第一個請求的處理即使警報框未觸及,也刷新頁面。 我們通過顯式的java腳本提交表單。Firefox即使在提醒的情況下也可以提交表格

大家好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> 

表單提交腳本:通過它,我們都在提交表格

<a href="javascript:void(0);" onClick="return fnTest();" title="overview"><span>Test</span></a> 
+0

你希望有人回答這個問題嗎?沒有顯示你的代碼?不幸的是,擁有魔杖和水晶球的巫師可以閱讀其他人的頭腦,但不經常訪問這個網站。 – 2011-04-10 13:49:11

+0

請不要使用評論部分發布代碼片段,因爲它們不可讀。繼續並通過包含此代碼來編輯您的原始問題。謝謝。 – 2011-04-10 13:59:25

+0

一旦表格被提交,它不能被撤消。因此,首先點擊將提交表單,第二次點擊將沒有實際效果,因爲表單已經提交。 – 2011-04-10 14:25:20

回答

1

你的問題不清楚

<script> 
function fnTest() { 
     if(incrementCount()){ 
     document.FormName.method = "POST"; 
     document.FormName.action = "SomeURL"; 
     document.FormName.submit();  
     }else{ 
     return false; 
     } 
    } 
    </script> 

鏈接。如果用戶點擊提交按鈕,他不應該能夠點擊鏈接?你需要發佈你的代碼。

至於形式發佈我的猜測是,你沒有返回假的onsubmit

「在IE它做工精細,在Firefox中, 我收到警報的第二 點擊,但Firefox不停止第一個請求的 處理和 刷新即使警告框 是不變」

那麼,什麼是錯的頁面。 Firefox根據需要提交第一個請求,並在第二次點擊時顯示警報。 IE有什麼不同? FF是否做了雙重提交? PS:你並不需要使用計數器。使用此代碼:

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>` 
+0

IE瀏覽器不允許頁面刷新,如果我們不點擊「確定」alert.But Firefox 3.6提供所請求的頁面,即使我們不點擊「確定」的警報和相同的警報仍然在請求的頁面。在Firefox 4中,它的自動查殺警報並提供請求的頁面。 – Query 2011-04-10 14:24:49

0

可以八方通返回false您的onsubmit電話。

+0

這將如何幫助?根據我的理解,瀏覽器不應該做任何進一步的處理,直到警報被點擊。但是Firefox顯示警告框之後是做任何事情。 – Query 2011-04-10 15:21:56

相關問題