2010-08-23 6 views
0

J'ai besoin des conseils d'experts ici ...problème Strangest avec IE6 ne pas soumettre un formulaire

J'ai couru dans le problème le plus étrange dans ma carrière ...

J'ai une forme avec beaucoup de « SELECT » Mots clés. Chaque étiquette contient une grande quantité de balises "OPTION".

Le formulaire ne sera pas soumis du tout, mais lorsque j'enlèverai des parties du contenu du formulaire (par exemple, certaines balises SELECT), le formulaire sera soumis correctement.

Cependant, il n'y a AUCUNE cohérence, je veux dire, l'enlèvement des étiquettes peut être aléatoire. J'ai essayé de voir à quelle partie exactement de la partie "enlevée" de mon formulaire pourrait faire que le formulaire ne se soumette pas, mais je ne peux pas le comprendre.

Il est plus facile expliqué en vous montrant un exemple ... Je vais sauter la balise form, et les fonctions js parce que je suis certain qu'ils ne sont pas le problème maintenant, après des heures de maux de tête ...

Voici une balise SELECT:

<div class="nav_sub_juveler" id="nav_sub_juveler"> 

    <select name="smycken_type" id="smycken_type" style="width: 130px; margin-bottom: 5px;"> 
       <option value="Alla Typer" class="nav_option_main" selected>-- Alla Typer --</option> 
       <option value="Klockor & Ur" title="Klockor, Ur">Klockor & Ur</option> 
       <option value="Juveler" title="Smycken, Pärlor, Guld, Silver, Diamanter mm">Juveler</option> 
       <option value="Övrigt" title="Övrigt">Övrigt</option> 
    </select> 

<br /> 

     <input type="radio" name="smycken_action" id="smycken_säljes" value="Säljes" checked onClick="disable_actions('nav_sub_juveler', false);"> 
     <font face="Arial, Helvetica, sans-serif" style="font-size:14px; font-weight:bold;">Säljes</font> 
     <input type="radio" name="smycken_action" id="smycken_köpes" value="Köpes" onClick="disable_actions('nav_sub_juveler', true);"> 
     <font face="Arial, Helvetica, sans-serif" style="font-size:14px; font-weight:bold;">Köpes</font> 

</div> 

maintenant, dans cette partie de la forme, j'ai un récipient de division qui contient quelques options (comme le reste de ma forme). Si je choisis de supprimer les boutons radio ici, le formulaire sera soumis. Donc tout de suite, vous pensez "ok, il doit y avoir quelque chose à propos des boutons radio qui empêche le formulaire de soumettre!". Mais NON! Si je supprime à la place les "Options" dans l'étiquette de sélection (ou la balise de sélection tout ensemble), mais laissez les radios, le formulaire sera soumis à nouveau. Mais laisser les deux ne soumettra pas le formulaire.

Et l'étrange à ce sujet est que le reste de la forme est faite de la même manière que cela, et il soumettra les deux radios et ... sélectionne

Je ne peux pas le comprendre ..

Y at-il quelque chose que vous pouvez voir ici qui pourrait causer le problème?

PS: Le problème n'a pas css non plus, le prob est ailleurs ... PS2: J'ai essayé de réécrire et réarranger le texte, mais pas de chance

+0

J'aimerais voir l'étiquette de formulaire. Si vous utilisez le formulaire "GET", vous pouvez rencontrer des problèmes avec la chaîne de requête trop longue. Actuellement, est-ce que vous soumettez le formulaire par JavaScript? Si oui, je chercherais les problèmes dans son code. – spbfox

+0

Cette limite est-elle uniquement dans IE6? S'il vous plaît dites-moi plus, car il semble que ce pourrait être le problème. La page se recharge mais avec plusieurs erreurs en raison de la modification de "POST". –

+0

Je l'ai vu plus tôt et je voulais revenir et vérifier la solution. La partie drôle est, comme la plupart des choses, l'article que l'affiche a dit n'était absolument pas le problème ... s'est avéré être le problème (l'étiquette de forme). Aucun défaut de l'affiche, juste dire son étrange comment les choses que nous sommes sûrs ne sont pas le problème sont habituellement :) – Tommy

Répondre

1

Si le <form> est d'utiliser GET, essayez de la modifier à POST et voir si cela fait une différence. Comme le disait @spbfox, il y a une limite à la longueur d'une URL.

Modifier

Il est non seulement IE6, URL plus que ~ 2k causer toutes sortes de casse.

J'avais une application héritée qui a utilisé GET sur une page énorme (plus de 100 champs), et cela a fonctionné pendant des années ... puis l'hiver dernier, l'utilisateur a installé une barre d'outils commune (Google, Yahoo ou Bing, rappelez-vous lequel), et il tronquerait silencieusement les données. Changer la page en POST l'a corrigé.

Bien sûr, si votre page d'action utilise Request.QueryString(), vous devrez les remplacer par Request.Form().

+0

Est-ce que cette limite est seulement dans IE6? S'il vous plaît dites-moi plus, car il semble que ce pourrait être le problème. La page se recharge mais avec plusieurs erreurs à cause de la modification de "POST" ... –

Questions connexes