input type text und onKeyDown funktioniert nicht unter IE

Schreibe ich eine WWW-Anwendung, es muss laufen unter IE. Ich habe das problem mit dem code, der läuft unter FF, aber ich kann nicht, es läuft unter IE.

//JS-code

function test()
{
    if (window.event.keyCode == 13)
        window.location.assign("myPage.php");
}

Ich habe versucht einige ähnliche Wege, um das Fenster an.Ort und Lage.href, auch dokumentieren.Lage. Ich habe gelesen, dass der IE hat Probleme damit, also bitte ich um eine Lösung.

Ziel ist es, dass die Seite neu geladen nach dem eingeben im text in <input type='text' name='item_code' onKeyDown='test()'> und klicken Sie auf Sie die EINGABETASTE. Also das Ergebnis ist ähnlich wie das drücken der senden-Typ-button unterhalb der text-Eingabe.

Im IE lädt es die gleiche Seite und es passiert nichts. In der FF es korrekt funktioniert.

UPDATE 1:

Versuchte Lösung gegeben durch bobince.

<input type='text' name='item_code'>

<script type='text/javascript' >

document.getElementsByName('item_code')[0].onkeydown = function(event)
{
    if (event == undefined) { event = window.event; }
    if (event.keyCode == 13) { window.location = 'myPage.php'; }

    alert('1');
}

</script>";

Das problem ist, dass, wenn es alert('1'); Zeile, Seite zeigt Alarm und leitet, wenn es nicht alert('1'); Zeile, Seite einfach neu geladen zu sich selbst. Ich weiß nicht, was ist hier das problem?

UPDATE 2:

Ich bin einfügen, was dann endlich funktioniert für mich.

<form action='mainPage.php' method='POST'>
    <input type='text' name='item_code'>
</form>

<script type='text/javascript' >
    document.getElementsByName('item_code')[0].onkeydown= function(event)
    {
        if (event == undefined)
        {    
            event = window.event;
        }

        if (event.keyCode == 13)
        {
            var js_item_code = document.getElementsByName('item_code')[0].value;
            window.location = 'myPage.php?item_code='+js_item_code;
            return false;
        }
    };
</script>
  • Wie wäre window.location.href = "myPage.php";
  • window.location.href keine assign Methode (window.location tut). Aber ich glaube nicht, das ist Ihr problem, denn das gleiche gilt (und wirft einen Fehler) in Firefox. Sie haben auch einige andere Tippfehler in deinem code (den ich behoben, aber Sie bearbeitet wieder :-))
  • oh, wusste nicht, pls Bearbeiten Sie Sie wieder, wenn Sie können, schätzen Sie Ihre Eingabe
InformationsquelleAutor qlf00n | 2010-04-05
Schreibe einen Kommentar