2010-09-16 11 views
1

Je ne fais que tester la toute nouvelle version bêta d'Internet Explorer 9 avec mon site Web. Je vois un comportement étrange pour certaines valeurs de formulaire et je ne suis pas sûr si c'est mon erreur ou un bug dans IE9. Qu'est-ce que tu penses?Les valeurs par défaut du formulaire HTML remplacent les valeurs réelles lors de la publication dans Internet Explorer 9

je une forme qui déclare plusieurs champs d'entrée cachés comme celui-ci

<input type="hidden" name="NewStatus" /> 
<input type="hidden" name="lastSaveStatus" value="" /> 

Lorsque la page est soumise, les valeurs sont enregistrées comme celui-ci (en JavaScript):

newStatus.setAttribute("value", myNewStatus); 
var formLastStatus = document.getElementsByName("lastSaveStatus")[0]; 
formLastStatus.setAttribute("value", lastSaveStatus); 
alert(lastSaveStatus); 
alert(formLastStatus.getAttribute("value")); 
var form = document.getElementById("myForm"); 
form.submit(); 

ce code a travaillé pendant des années et sur tous les navigateurs. Les alertes indiquent déjà que j'ai maintenant un problème avec le champ lastSaveStatus. Dans IE9, NewStatus est correctement transmis au serveur (cela signifie que je peux accéder à la valeur dans ASP.NET à l'aide de Request.Form ["NewStatus"]). Mais la valeur de "lastSaveStatus" est toujours "".

Comme vous pouvez le voir, j'ai utilisé une valeur = "" dans la définition de mon champ masqué. Si je supprime cette valeur par défaut, la nouvelle valeur est correctement transférée au serveur. Si j'utilise une valeur par défaut, la valeur par défaut est toujours transférée.

Une idée de pourquoi cela se passe-t-il?

Répondre

0

Etes-vous sûr que cela a fonctionné dans les versions précédentes d'IE? J'ai toujours eu des problèmes avec cette syntaxe dans IE/Win, ce qui suit devrait fonctionner cependant:

formLastStatus.value = lastSaveStatus; 

Le ci-dessus devraient travailler dans tous les navigateurs, aussi.

+0

Oui, je suis TRÈS sûr que cela fonctionne dans IE6, 7, 8. Il fonctionne également dans 9 avec la valeur NewStatus qui utilise également setAttribute. D'ailleurs, l'alerte (formLastStatus.getAttribute ("value")); alerte la bonne, nouvelle valeur. Mais cette valeur n'est pas transférée mais la valeur par défaut est. – newtogit