Champ avec contenu dynamique en script php

Résolu
lilasn -  
 laurents -
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. Ozimandias Messages postés 528 Statut Membre 46
     
    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
  2. laurents
     
    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
  3. lilasn
     
    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. laurents
       
      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
  4. lilasn
     
    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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. laurents
     
    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