2012-03-28 112 views
0

我正在使用Cognos,我試圖捕獲回車鍵,以便在提交提交之前檢查用戶的輸入。捕獲「輸入密鑰」適用於IE瀏覽器,但不適用於Firefox - 適用於Cognos

即使您沒有Cognos的經驗,如果您看了我的代碼,我將不勝感激:)這幾乎是一個商業報告的拖放程序。

我在我的cognos提示頁面上有一個文本框提示,我試圖爲用戶輸入設置最少3個字符。我已經使用HTML項目將文本框提示與div分隔開來,如下所示。

<div onKeyDown="return keyMon(event)"> Cognos Text Box </div> 

然後我有另一個HTML項目,其中包含函數keyMon(),如下所示。

<script> 
function keyMon(e3) 
{ 
    var key = e3 || window.event; 

    if(key.keyCode == 13){ 

     var fW = (typeof getFormWarpRequest == "function" ? 
     getFormWarpRequest() : document.forms["formWarpRequest"]); 
     if (!fW || fW == undefined) { 
      fW = (formWarpRequest_THIS_ ? 
      formWarpRequest_THIS_ : formWarpRequest_NS_); 
     } 

     var custValue = fW._textEditBoxCustomerPrompt; 

     if(custValue.value.length > 0){ 
      if(custValue.value.length >= 3){ 
       promptAction('next'); //Submit the user's input 
      }else{ 
       alert("Please enter a search value that is 3 or more characters long."); 
       return false; 
      } 
     } 
    } 
} 
</script> 

正如我上面所說,這與IE正常工作。當它在Firefox中運行時,它會啓動Enter鍵,警報框會彈出,但只有一毫秒,然後消失。但它仍然繼續到下一頁。所以顯然是「回報虛假」。沒有太大的作用。

任何幫助,將不勝感激。

回答

0

我設法在上面放了一個創可貼...而不是返回false,我清除了參數文本框,從而使提示不被提交。然後我解除了警報。

如果任何人有解決我原來的問題,請隨時添加它,因爲它真的讓我煩惱。

<script> 
function keyMon(e3) 
{ 
    var key = e3 || window.event; 

    if(key.keyCode == 13){ 

     var fW = (typeof getFormWarpRequest == "function" ? 
     getFormWarpRequest() : document.forms["formWarpRequest"]); 
     if (!fW || fW == undefined) { 
      fW = (formWarpRequest_THIS_ ? 
      formWarpRequest_THIS_ : formWarpRequest_NS_); 
     } 

     var custValue = fW._textEditBoxCustomerPrompt; 

     if(custValue.value.length > 0){ 
      if(custValue.value.length >= 3){ 
       promptAction('next'); //Submit the user's input 
      }else{ 
       //Delaying the alert box so that the user's enter press will not exit the alert box. 
       setTimeout("alert('Please enter a search value that is 3 or more characters long.')",250); 
       fW._textEditBoxCustomerPrompt.value = ""; 
      } 
     } 
    } 
} 
</script> 
相關問題