Bonjour, a tous !
tout d'abord, je vous prie de bien vouloir excuser le manque d'accents et les eventuelles coquilles de ce message; j'ecris depuis un clavier QWERTY et ne maitrise pas vraiment la bete.
Ensuite, j'aimerais poser une question a ceux qui s'y connaissent en Javascript, et accessoirement en PHP:
Je suis en train d'ajouter des fonctionnalites a une application, et je me retrouve confronte a la situation suivante : j'aimerais qu'un champ textarea soit modifie dynamiquement selon le choix fait par l'utilisateur sur un menu deroulant Select.
Je stocke donc mes differentes valeurs (recuperees depuis une requete SQL) dans les "value" des options de mon select, et ajoute une fonction onChange sur le Select pour ;odifier le textarea dynamiquement.
A priori tout devrait fonctionner. Je sais que ma fonction javascript se lance, je sais que les "value" ne sont pas nulles, et j'ai utilise un code quasiment identique sans probleme sur une autre page PHP. Et pourtant, le textarea n'est jamais modifie. I lreste desesperement vide.
Il me semble donc que c'est la ligne suivante de mon code qui pose probleme (alors meme que c'est un copier/coller d'une ligne qui fonctionne sur une autre page:
document.getElementById(promId+'')).value += promContent;
les variables promId et promContent sont correctement renseignees... bref, je ne vois vraiment pas ce qui coince.
Quelqu'un connaitrait-il une raison qui puisse expliquer le non fonctionnement de cette affaire ?
Comme je modifie une application (OpenSource, hein) je ne maitrise pas tout l'environnement, et je suis debutant en javascript, quelque evidence ;'aura peut-etre echappe ?
Je devrais peut-etre poster le code dans son integralite, ca clarifiera peut-etre les choses :
PHP :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
|
<h2>Send Promo</h2>
<p>Enter the Promo Code of the Promotion you wish to send to the client.</p>
<?php $txt = "promoContent";
echo "<select class=\"small\" name=\"promo\" onChange=\"addPromo('promoContent', 'this.options[this.selectedIndex].value');\" >";
echo "<option value=\"{$promo}\" ></option>";
while($table=mysql_fetch_row($promos))
{
echo "<option value=\"{$table[1]}\" >$table[0]</option>";
}
echo "</select>"; ?>
<fieldset class="vbx-input-container">
<?php echo "<textarea id=\"promoContent\" name=\"promoContent\" class=\"element textarea small\"><?php echo AppletInstance::getValue('promoContent'); ?"; ?></textarea>
</fieldset> |
Javascript :
1 2 3 4 5 6
|
function addPromo(txt, promo) {
alert("test 1");
(document.getElementById(txt+'')).value += promo;
alert("test 2");
} |
Voila voila... quiconque saura m'aider aura toute ma reconnaissance !
Partager