J'écris une application WWW, elle doit fonctionner sous IE. J'ai le problème avec le code qui fonctionne sous FF, mais je ne peux pas l'exécuter sous IE.le type d'entrée text et onKeyDown ne fonctionne pas sous IE
// Code JS
function test()
{
if (window.event.keyCode == 13)
window.location.assign("myPage.php");
}
J'ai essayé des moyens similaires autour window.location et location.href, également document.location. J'ai lu que IE a des problèmes avec cela, alors je demande une solution.
Le but est, cette page se recharge après avoir tapé du texte dans <input type='text' name='item_code' onKeyDown='test()'>
et cliquez sur Entrée. Le résultat est similaire à appuyer sur le bouton de type de soumission en dessous de la saisie de texte.
Dans IE, il recharge la même page et rien ne se passe. En FF il fonctionne correctement.
UPDATE 1:
solution Essayé donnée par 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>";
Le problème est que s'il y a alert('1');
ligne, page d'alerte et réoriente, s'il n'y a pas alert('1');
ligne, page, se recharge. Je ne sais pas quel est le problème ici?
MISE À JOUR 2:
I'am coller ce qui fonctionne enfin pour moi.
<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>
Que diriez-vous 'window.location.href = "mapage.php";' –
'window.location.href' n'a pas de méthode' assign' (c'est le cas de 'window.location'). Cependant, je ne pense pas que ce soit votre problème parce que la même chose est vraie (et va jeter une erreur) dans Firefox. Vous avez également d'autres fautes de frappe dans votre code (que j'ai corrigé, mais vous les avez édité dans :-)) –
oh, je ne sais pas, pls les éditer à nouveau si vous le pouvez, appréciez votre entrée – qlf00n