Javascript, PHP: modifier textarea selon sql
Hippolyte
-
Hippolyte -
Hippolyte -
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:
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 :
Javascript :
Voila voila... quiconque saura m'aider aura toute ma reconnaissance ! :)
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 :
<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 :
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 ! :)
A voir également:
- Javascript, PHP: modifier textarea selon sql
- Easy php - Télécharger - Divers Web & Internet
- Telecharger javascript - Télécharger - Langages
- Expert php pinterest - Télécharger - Langages
- A javascript error occurred in the main process - Forum Windows
- A javaScript error occurred in the main process - Forum Handicap / Accessibilté
3 réponses
Bonjour,
Pour modifier le contenu d'un textarea, ce n'est pas value mais innerHTML
donc
Pour modifier le contenu d'un textarea, ce n'est pas value mais innerHTML
donc
document.getElementById(promId+'')).innerHTML += promContent;
Bonjour,
Franchement vous cherchez la petite bête....
faire un bête SELECT et mettre en dessous un TEXtAREA sans effets de manches c'est si difficile???
Vous n'avez besoin d'aucun codage PHP sauf dans le WHILE pour les OPTION du SELECT.
par contre, ici, je vois:
<?php echo AppletInstance::getValue('promoContent'); ?"; ?>
il faudrait plutôt vous orienter vers du Ajax (code Javascript) pour charger dans votre textarea le texte qui va bien. Car tel que vous avez écrit votre code, le contenu de TEXTAREA est chargé à la construction de la page web. Le onSelect n'exécutera pas le code PHP.
A+
Franchement vous cherchez la petite bête....
faire un bête SELECT et mettre en dessous un TEXtAREA sans effets de manches c'est si difficile???
Vous n'avez besoin d'aucun codage PHP sauf dans le WHILE pour les OPTION du SELECT.
par contre, ici, je vois:
<?php echo AppletInstance::getValue('promoContent'); ?"; ?>
il faudrait plutôt vous orienter vers du Ajax (code Javascript) pour charger dans votre textarea le texte qui va bien. Car tel que vous avez écrit votre code, le contenu de TEXTAREA est chargé à la construction de la page web. Le onSelect n'exécutera pas le code PHP.
A+
Merci des reponses rapides.
Apres quelques verifications/tests, j'ai simplifie la chose, et ca ne fonctionne otujours pas.
Je pense reellement au'il y a un probleme qui n'est pas de l'ordre de la logique/syntaxe du javascript, ici.
J'ai teste ca :
Javascript :
PHP:
Et la fonction d'alert fonctionne : lorsque je change l'element selectionne, une fenetre apparait et affiche <p>test</p>.
Le probleme est que rien n'apparait dans ma div id="promCT".
Y a-t-il quelque chose que je ne saisis pas ?
Apres quelques verifications/tests, j'ai simplifie la chose, et ca ne fonctionne otujours pas.
Je pense reellement au'il y a un probleme qui n'est pas de l'ordre de la logique/syntaxe du javascript, ici.
J'ai teste ca :
Javascript :
function addPromo(txt, promo) { document.getElementById(txt+'').innerHTML = '<p>'+promo+'</p>'; alert(document.getElementById(txt+'').innerHTML); }
PHP:
<select name="gotoProm" onChange="addPromo('promCt', 'test');"> <option value= ..... /> </select> (...) <div id="promCt"></div>
Et la fonction d'alert fonctionne : lorsque je change l'element selectionne, une fenetre apparait et affiche <p>test</p>.
Le probleme est que rien n'apparait dans ma div id="promCT".
Y a-t-il quelque chose que je ne saisis pas ?