我正在使用 Cognos,我试图抓住enter关键,以便在提交提示之前检查用户的输入。
即使您没有 cognos 经验,如果您查看我的代码,我将不胜感激 :) 这几乎是一个用于业务报告的拖放程序。
我的 cognos 提示页面上有一个文本框提示,我正在尝试为用户输入设置最少 3 个字符。我已经用一个使用 HTML 项的 div 包围了该文本框提示,如下所示。
<div onKeyDown="return keyMon(event)"> Cognos Text Box </div>
然后我有另一个包含 function 的 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 键,警告框会按应有的方式弹出,但仅持续一毫秒然后消失。但它仍然继续到下一页。所以很明显是“return false”;没有做太多。
任何帮助,将不胜感激。