Champ avec contenu dynamique en script php

Résolu
Bonjour à tous j'espère que vous pourrez m'aider,

j'ai trouvé un tuto pour insérer un champ avec contenu dynamique sur changement du contrôle:

<CENTER>
<FORM method=post name=formul action="/">
<SELECT id="Cars" size="1" onchange="Data.value += Cars.options[Cars.selectedIndex].text + '\n'"; >
<OPTION value="1">BMW
<OPTION value="2" disabled>PORSCHE
<OPTION value="3" selected>MERCEDES
</SELECT>
<TEXTAREA id="Data" rows="10" cols="13"> </TEXTAREA>
</FORM>
</CENTER>

mon problème c'est que mon fichier est en script php alors comment insérer ou traduire ce code à cet endroit de mon fichier:

echo '<td><textarea name="description" id="textarea" cols="45" rows="5">';
echo 'Genre:
Tempo:
Ext:';
echo '</textarea></td>';

merci
Configuration: Windows XP
Firefox 3.5.6

5 réponses

  1. Data.value += Cars.options[Cars.selectedIndex].text + '\n'";

    Cette ligne (au dessus) c'est du javascript... donc tu peux l'ajouter directement dans ton code php sans soucis de la même manière que dans l'exemple. Tu peux écrire :

    echo '<select id="Cars" size="1" onchange=" Data.value += Cars.options[C...
    0
    1. On peut très bien inclure du code html (comme ici) dans du code PHP, à condition d'exprimer chaque ligne de
      code html :
      ligne_html
      en
      echo 'ligne_html'
      et en échappant ttes les apostrophes,
      càd remplacer les ' par \'

      Exemple :
      echo '<td><textarea name="description" id="textarea" cols="45" rows="5">'; 
      echo 'Genre: 
      Tempo: 
      Ext:'; 
      echo '</textarea></td>'; 
      echo '<CENTER>';
      echo '<FORM method=post name=formul action="/">';
      echo '<SELECT id="Cars" size="1" onchange="Data.value += Cars.options[Cars.selectedIndex].text + \'\n\'"; > ';
      ...
      
      0
      1. merci pour vos réponses. laurents j'ai essayé ce que tu as noté mais cela ne fonctionne pas. Je m'explique: Le champ avec contenu dynamique n'apparaît pas à coté de la zone de texte mais beaucoup plus haut à coté d'autres champs. De plus lorsque je sélectionne une option ex: BMW celle-ci n'apparaît pas dans la zone de texte comme cela devrais être fait.
        Savez-vous pourquoi?
        merci
        0
        1. Ca doit être une petite erreur car voici la copie d'écran de ce que j'ai obtenu suite à un petit essai : http://laurentschmitt18.free.fr/essai/copiecran.doc et avec le code suivant :
          <?php
          echo '<CENTER> ';
          echo '<FORM method=post name=formul action="/"> ';
          echo '<table><tr>';
          echo '<td><textarea name="description" id="textarea" cols="45" rows="5">'; 
          echo 'Genre: 
          Tempo: 
          Ext:'; 
          echo '</textarea></td>'; 
          echo '<td>';
          echo '<SELECT id="Cars" size="1" onchange="Data.value += Cars.options[Cars.selectedIndex].text + \'\n\'"; > ';
          echo '<OPTION value="1">BMW ';
          echo '<OPTION value="2" disabled>PORSCHE ';
          echo '<OPTION value="3" selected>MERCEDES ';
          echo '</SELECT> ';
          echo '<TEXTAREA id="Data" rows="10" cols="13"> </TEXTAREA> ';
          echo '</FORM> ';
          echo '</CENTER>';
          
          
          echo '</td></tr></table>';
          ?>
          0
      2. En effet c'est parceque il fallait que le code soit entre les balises <td>. Les champs sont juste au dessus du textarea et non à côté mais je pense que ça iras.
        En tout cas un grand merci
        0
        1. C'est bizarre, car chez moi, ils sont bien côte à côte : http://laurentschmitt18.free.fr/essai/test.php (et à moins de rajouter un <tr>, pas moyen de les superposer)
          0