2010-08-23 4 views
1

J'ai une forme comme ceci:touche Entrée soumettre wont forme dans IE6

<form id="form_main" name="form_main" action="/search/" target="iframe001" method="get" onSubmit="reset_and_subm();"> 

Entrée soumettre ce formulaire wont dans IE6, mais dans Chrome, FF, Opera, Safari et IE8 (pas testé IE7 encore). EN EFFET, MEME EN APPUYANT SUR LE BOUTON SOUMETTRE LE FORMULAIRE. J'ai essayé pendant des heures maintenant ... Quel pourrait être le problème? Je l'ai essayé:

<form id="form_main" name="form_main" action="/search/" target="iframe001" method="get" onSubmit="alert('hello');"> 

Et le Alertbox vient avec le message ...

Maintenant, voici la fonction "reset_and_subm();"

Est-ce que quelqu'un sait ce que je devrais faire ici? Btw, j'ai vérifié toutes les entrées dans le formulaire, et tout semble bien aller ... Supposons donc qu'il n'y a rien de mal avec le contenu du formulaire.

Merci

MISE À JOUR:

J'ai un bouton d'envoi oui. L'ensemble du contenu du formulaire est trop grand pour être mis ici, mais il ne contient qu'un seul champ de texte. Le reste est "sélectionne" et "entrées cachées". Je suis en appuyant sur Entrée dans le seul champ de texte, il est ... J'ai aussi ajouté le code du bouton soumettre:

<input name="nav_querystring" type="text" id="nav_querystring" style="width: 240px; font-family:Arial, Helvetica, sans-serif; font-size:12px; font-weight:bold;" value=""> 

<input type="submit" name="nav_submit" id="nav_submit" value="Sök" style="width: 55px; font-size: 13px;"> 

MAJ2:

Juste pour signaler, j'ai inclus le fichier js qui contient la fonction "reset_and_subm" et aussi, j'utilise mod_rewrite dans .htaccess pour réécrire l'action du formulaire. J'espère que rien de tout cela ne cause le problème.

UPDATE3: Semble que le problème pourrait se trouver dans le corps de OnLoad eventy, où j'ai une fonction js non répertoriée ici. IE6 ne prend-il pas en charge OnLoad? Que dois-je utiliser à la place ...

Voici mon code actuel:

<body onLoad="subSelection();"> 

Merci

+0

Pouvez-vous afficher le code complet du formulaire? Dans quel champ appuyez-vous sur la touche Entrée? Avez-vous un bouton de soumission? –

+0

désolé, vérifiez la mise à jour –

+0

[cet exemple autonome] (http://jsfiddle.net/qJgHf/) montre le code que vous avez bien fonctionne dans IE6, votre problème doit se trouver ailleurs. –

Répondre

1

J'ai apporté deux modifications à votre code.

Lorsque vous appelez une fonction d'onsubmit, j'ai inclus le mot-clé "return" dans l'appel de méthode.

Étant donné que la forme n'a qu'un seul élément de formulaire, j'ai ajouté un élément caché au formulaire.

<form id="form_main" name="form_main" action="/search/" target="iframe001" method="get" onSubmit="return reset_and_subm();"> 
    <div style="display: none;"><input type="text" name="ie6"></div> 
    <input name="nav_querystring" type="text" id="nav_querystring" style="width: 240px; font-family:Arial, Helvetica, sans-serif; font-size:12px; font-weight:bold;" value=""> 
    <input type="submit" name="nav_submit" id="nav_submit" value="Sök" style="width: 55px; font-size: 13px;"> 
</form> 

Veuillez crier si vous êtes toujours bloqué.

+0

Merci, mais toujours pas de chance ... C'est une de ces erreurs effrayantes qui prendront énormément de temps à trouver. Existe-t-il un bon outil de débogage IE6? –

+0

Faites une recherche pour IE Developer Tools, c'est un peu comme Firebug pour Firefox. – Fenton

1

Je me souviens il y a un bug étrange avec une seule zone de texte sur une page dans IE6 que nous avons dû travailler il y a longtemps. Essayez de mettre une autre zone de texte vide sur la page avec son style défini pour afficher: none et voir si cela fonctionne. Cela peut sembler fou, mais c'est ce qui arrive avec des bogues IE fou ...

+0

Essayé, mais n'a pas résolu le problème ... Merci de toute façon Chris. –

+0

@Camran: http://stackoverflow.com/questions/270494/enter-button-does-not-submit-form-ie-only-asp-net/487965#487965 semble être ce que je luttais pour. Peut-être que vous avez besoin de l'avoir dans un div caché plutôt que d'être caché lui-même. Il y a d'autres options sur cette page qui pourraient aider aussi. – Chris

+0

Chris, merci beaucoup pour votre aide ... Vérifiez ma troisième mise à jour, pourrait être le problème ici ... Entre-temps, je vais regarder dans la question que vous avez liée. –

1

Il y a un bogue dans IE où les formulaires avec un seul champ de texte ne seront pas envoyés en appuyant sur la touche "Entrée/Retour". La solution consiste à ajouter un deuxième champ: Simples: D

+0

J'en ai entendu parler - il suffit d'ajouter un champ caché – tekknolagi

Questions connexes