innerHTML
n'est pas la bonne façon de lire la valeur d'une zone de texte.
En partie à cause des <
ou &
caractères il sera HTML se sont échappés, mais surtout parce que le contenu du nœud de texte à l'intérieur d'un noeud HTMLTextAreaElement
n'est pas une indication de la valeur actuelle de la zone de texte.
En fait, le contenu du nœud de texte est le contenu original de la zone de texte telle que vue dans la source HTML. C'est la même chose que la propriété defaultValue
. Il n'est pas mis à jour lorsque vous tapez dans la zone de texte ... sauf dans IE qui, comme d'habitude, se trompe complètement. Vous souhaitez probablement utiliser inputs[iX].value
à la place.
va de même pour les entrées normales, où input.value
représente la valeur actuelle, mais input.getAttribute('value')
est le même que input.defaultValue
, ce qui représente la valeur d'origine mis dans l'attribut value="..."
dans la source HTML. Encore une fois: sauf dans IE en raison de plus de bugs.
Le même nouveau pour les checked
et selected
propriétés des cases à cocher et sélectionner des options: le checked
et selected
attributs sont les valeurs d'origine reflétées dans les defaultChecked
et defaultSelected
propriétés.
De plus, avec le length-1
, vous ignorez la dernière zone de texte de la liste. Voulez-vous vraiment faire ça?
entrées [iX] .value ne fonctionne pas .... – eqiz
Fonctionne pour moi, après un exemple plus complet? (Note dans l'extrait posté jusqu'à présent, vous n'avez pas initialisé 'text' à' '' ', donc si vous exécutez tel quel sans code supplémentaire, vous obtiendrez une erreur lorsque vous essaierez de' text + = 'quoi que ce soit.) – bobince