Impossible de mettre à jour textarea avec javascript après avoir écrit manuellement
Je suis en train d'écrire une application en ligne où j'ai enregistrer certains textes de la base de données.
Il y a comme 5 "textarea"-s et 5 "input type="texte-s.
Je suis également en œuvre une recherche pour trouver facilement et de modifier la DB entrées. Une nouvelle fenêtre de sélection s'affiche(à l'aide de prototype et ajax), et lorsque l'on clique sur l'une de ses entrées le formulaire ci-dessous est renseigné (c'est la même formule qui a été utilisée pour ajouter de nouveaux résultats).
Maintenant, voici où le problème se pose....
Si j'ajoute un nouveau formulaire ou en modifier un à un TOUS les champs TEXTAREA qui ont été modifiés, de verrouiller les portes ou quelque chose comme ça (seulement textareas, les entrées fonctionnent toujours) ... Ils ne respectent pas les Javascripts .mise à jour de plus, donc ils ne changent pas lorsque je sélectionne l'entrée suivante .... OU AU MOINS ILS ont l'HABITUDE DANS FireFox (3.5.quelque chose). Il fonctionne très bien sous IE, mais depuis que je suis un FF utilisateur et je wan-il pas d'y travailler et je me demandais si quelqu'un a rencontré des problèmes similaires et de les résoudre avec facilité.
Le problème semble aller loin quand je l'appelle la forme.reset(), mais qui bousille un peu de code généré sélectionnez la/les champs d'option, d'ailleurs je le wan pas les données à rester.
Pour moi, il ressemble à FF a décidé que le texte que j'ai entré est plus important que le texte javascript est d'essayer d'entrer, il la remplace... et je ne peux pas comprendre pourquoi. À ce stade, je suis à blâmer .mise à jour(), mais je ne suis pas sûr de savoir comment faire autrement.
Les champs de SAISIE semblent avoir des problèmes avec .mise à jour (ou ça ne fonctionne pas pour moi), donc j'ai dû réécrire .valeur= (ont essayé .valeur avec ces zones de texte, en espérant que de corriger quoi que ce soit, malheureusement, avec en vain).
Donc, quelqu'un a des indices pourquoi ce qui se passe et comment résoudre le problème, sans avoir à réinitialiser le formulaire sur chaque étape?
ne sera plus nécessaire, le problème a été avec .mise à jour()... j'ai essayé le innerHTML et il a bien fonctionné, juste pour le plaisir, j'ai essayé .la valeur de nouveau et il a travaillé tout d'un coup ... je n'ai aucune idée de ce qui s'est passé hier (quand j'ai passé toute l'après-midi sur ce sujet), qu'il n'a pas envie de travailler comme ça (j'ai peut-être utilisé .texte au lieu de .valeur, ou il y avait une erreur dans PHPs iduno) enfin Bref désolé d'avoir dérangé tout pour rien
Je pense que vous devriez poster une réponse à votre propre question (juste dire la-dessus) et ensuite vérifier, donc cette question peut être retiré de l'questions sans réponse de la file d'attente
OriginalL'auteur RedFury | 2009-12-18
Vous devez vous connecter pour publier un commentaire.
J'ai eu ce même problème. Quand le HTML est l'analyse de DOM objet, le contenu de
textarea
estinnetHTML
de<textarea>
Valeurs
document.getElementByTagName('textarea').innerHTML
etdocument.getElementByTagName('textarea').value
renvoie cette même valeurContent of textarea
Mais après le chargement d'objet DOM, l'évolution
innerHTML
valeur ne change pas le contenu detextarea
boîte. Une solution pour modifier à modifiervalue
champ.ou en jquery
OriginalL'auteur Skamielina
.valeur et .innerHTML semble résoudre le problème
OriginalL'auteur RedFury
J'ai exactement ce problème. Jusqu'à présent j'ai essayé
J'ai aussi essayé,
Le problème semble être que si l'utilisateur tape dans le textarea (#message) puis clique sur le bouton pour ajouter le lien de l'offre, rien n'est affiché. En regardant la source, à l'aide de Firebug, je vois que le texte contenu dans la zone de texte est modifié, mais n'est pas affichée sur l'écran.
Il semble que le javascript est en train de changer le contenu html de la balise, mais le navigateur est le stockage de l'saisi le contenu de la mémoire (je suppose) ou ailleurs.
La mise à jour de la zone de texte à l'aide de val(e+) va supprimer le texte saisi et les remplacer par les offerlink, et en utilisant innerHTML = e+ne fonctionne pas du tout, n'indiquant aucun changement dans le textarea.
J'ai réussi à régler ce!
Ma pensée tournait autour du fait qu'en raison de la balise contient le texte, et possède sa propre balise de fermeture, que j'aurais pour obtenir du contenu à l'aide .html().
Par l'aide .val() pour obtenir le contenu du champ, vous pouvez alors tirer et mettre à jour le contenu simplement. J'ai fini avec la suivante,
OriginalL'auteur David Yell
Je fixe cet étrange problème simplement:
Même après la modification de la textarea le script remplace.
innerHTML
n'a pas fonctionné pour moi, après la modification de la textarea.OriginalL'auteur Dornail
Parfois, vous pouvez afficher dans un textarea, une chaîne de caractères et laissez
l'utilisateur de voir ce que c'est, alors peut-être apporter des modifications, mais, vous voulez
leur permettre de voir ce que le texte original a été. Ces zones de texte sont assez difficiles à manier,
mais même un changement dans le texte édité est réversible à l'aide de cette installation.
La structure ci-dessus a résolu le problème pour moi.
OriginalL'auteur MountainMan