Ich verwende Cognos und ich versuche, die Eingabetaste abzufangen, so dass die Benutzereingabe überprüft wird, bevor die Eingabeaufforderung gesendet wird.Abfangen von "Enter Key" funktioniert mit IE aber nicht Firefox - in Cognos verwendet
Auch wenn Sie keine Erfahrung in cognos haben, würde ich es begrüßen, wenn Sie sich meinen Code ansehen :) Es ist so ziemlich ein Drag & Drop-Programm für Geschäftsberichte.
Ich habe eine Textbox Eingabeaufforderung auf meiner Cognos-Eingabeaufforderungsseite und ich versuche, ein 3 Zeichen Minimum für Benutzereingaben festzulegen. Ich habe diese Textbox-Eingabeaufforderung mit einem div mit HTML-Elementen umgeben, wie unten gezeigt.
<div onKeyDown="return keyMon(event)"> Cognos Text Box </div>
Ich habe dann ein anderes HTML-Element, das die Funktion keyMon() enthält, wie unten gezeigt.
<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>
Wie ich oben sagte, funktioniert dies gut mit IE. Wenn es in Firefox läuft, nimmt es die Enter-Taste, die Alarm-Box erscheint wie es sollte, aber nur für eine Millisekunde und verschwindet dann. Aber es geht immer noch zur nächsten Seite. Also offensichtlich die "Rückkehr falsch"; tut nicht viel.
Jede Hilfe wäre willkommen.