Code PHP dans Javascript

Petit nouveau ! | 6 Messages

29 mars 2007, 12:32

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.

Eléphant du PHP | 100 Messages

29 mars 2007, 12:43

La console affiche-t-elle une erreur ? Sinon essaye ca:
echo "<input type=\"text\" name=\"mon_champ\" value=\"".$caption."\">";
Script gratuit de videothèque: PhpMesFilms
sur http://phpmesfilms.dyndns.org/

Petit nouveau ! | 6 Messages

29 mars 2007, 12:59

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.

Eléphant du PHP | 100 Messages

29 mars 2007, 15:08

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>
Script gratuit de videothèque: PhpMesFilms
sur http://phpmesfilms.dyndns.org/

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

29 mars 2007, 15:19

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>'; 
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...