Page 1 sur 1

Code PHP dans Javascript

Posté : 29 mars 2007, 12:32
par AbdL
Bonjour, j'ai un formulaire à remplir, et j'ai un problème. Je veux remplir un champ du formulaire à l'aide d'une variable php.
Je ne sais pas si on peut remplir directement les champs à sans javascript. Sinon voici une partie de mon code:
$caption=$_POST["capt"];
// Quand je fais "echo "$caption";", j'ai bien la valeur attendue.
Je voudrais dnc mettre cette valeur comme value d'un bouton ou d'une zone de texte.
J'ai essayé ceci:
echo "<script>";
echo 'document.forms[0].elements["mon_champ"].value=$caption;';
echo "</script>";
... mais ... non.
Donc voila, j'éspère que quelqu'un pourra m'aider, et je l'en remercie d'avance.

Posté : 29 mars 2007, 12:43
par tanky
La console affiche-t-elle une erreur ? Sinon essaye ca:
echo "<input type=\"text\" name=\"mon_champ\" value=\"".$caption."\">";

Re

Posté : 29 mars 2007, 12:59
par AbdL
J'ai essayé, mais ca me crée un nouveau champ, alors que moi, je veux en modifier un déjà existant.
Sinon, avec ce que j'utilise, la console ne me signale pas d'erreur.
Merci pour ton aide.

Posté : 29 mars 2007, 15:08
par tanky
Comme je ne vois pas ton script dans sa globalité, voila un exemple qui te permettra de mieux comprendre comment mettre à jour un champ de formulaire avec javascript:

Code : Tout sélectionner

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html> <body> <script language="javascript" type="text/javascript"> function modifieContenu() { document.monFormulaire.monChamp.value = "bonjour"; } </script> <form name="monFormulaire" action="index.php" method="post"> <input type="text" name="monChamp" value="coucou" /> </form> <a href="javascript:modifieContenu()">modifier la valeur du champ</a> </body> </html>

Posté : 29 mars 2007, 15:19
par Ryle
Pourquoi ne pas ajouter directement <?php echo $caption;?> dans l'attribut value de ton champ ?

Sinon ce que tu as fait en js est presque bon, il te manque juste les délimiteurs de la chaine dans le code js généré, et accessoirement sortir la variable de la chaine pour qu'elle soit interprétée :
echo '<script language="javascript">'; 
echo 'document.forms[0].elements["mon_champ"].value = "' . $caption . '"; '; 
echo '</script>';