2012-03-28 53 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> 
相关问题