Probleme appel fonction javascript

Résolu
G4uthier Messages postés 131 Statut Membre -  
Alain_42 Messages postés 5413 Statut Membre -
Bonjour,
J'ai un problème je ne trouve pas le moyen d'envoyer la valeur de ma liste déroulante vers ma fonction javascript
. j'ai essayé ca <script>ajouter.couleur.value</script> mais ca ne fonctionne pas!! J'ai besoin d'aide merci ;)

Mon code:

ma fonction javascript:
function creer_balise(balise_debut,balise_fin){

.....
}

echo"<form method='post' action='{$_SERVER['PHP_SELF']}' name='ajouter' onSubmit='return verification()' enctype='multipart/form-data'>
<h2>Ajout d'une news</h2>
<em>entrez le titre de votre news: </em><input type='text' name='titre' size='50' value=$titre><br><br>
<input type='button' onclick=creer_balise('[b]','/b') value='Gras'>
<input type='button' onclick=creer_balise('[i]','/i') value='Italique'><br><br>
couleur: <select name='couleur' onChange=creer_balise('[color=<script>ajouter.couleur.value</script>]','/color­')>
<option style='color:Red' value=red>Rouge</option>
<option style='color:Forestgreen' value=Forestgreen>Vert Foncé</option>
<option style='color:#40a900' value=#40a900>Vert</option>
<option style='color:#DAA520' value=#DAA520>Beige</option>
<option style='color:#FF4500' value=#FF4500>Orange</option>
<option style='color:yellow' value=yellow>Jaune</option>
<option style='color:Blue' value=blue>Bleu</option>
<option style='color:Skyblue' value=Skyblue>Bleu ciel</option>
</select><br><br>
<em>entrez le contenu de votre news: </em><p><textarea name='contenu' cols='80' rows='16'>$contenu</textarea></p>
<input type='checkbox' name='photo_ok'><em>Photo(optionnel):</em><input type='file' name='photo'/><br>
<input type='submit' class='button' name='ajout' value='Ajouter la news'>
</form>";

Configuration: Windows XP
Firefox 2.0.0.12
Configuration: Windows XP
Firefox 2.0.0.12

2 réponses

  1. Alain_42 Messages postés 5413 Statut Membre 904
     
    Bonsoir,

    dans ta fonction tu rajoutes un autre argument id_a_lire

    et dans ta fonction tu mets
    couleur=document.getElementById(id_a_lire).value;

    pour ta liste tu mets:

    <select id='couleur' name='couleur' onChange="creer_balise('couleur')>


    Ainsi la fonction vient lire ce qui est selectionné dans la liste, pas besoin de lui passer la valeur en argument

    Tu t'arranges pour les autres arguments de ta fonction.
    0
    1. G4uthier Messages postés 131 Statut Membre 7
       
      je ne peux pas car je dois récuperer ma couleur pour mon bbcode:
      $contenu = preg_replace('#\[color=(red|Forestgreen|blue|yellow|#40a900|#DAA520|#FF4500|Skyblue|black)\](.+)\[/color\]#isU', '<span style="color:$1">$2</span>', $contenu);
      0
  2. djoyanna Messages postés 16 Statut Membre 1
     
    bonjour
    j'ai un soucis avec une fonction js appelé dans un script php5 :
    j'ai devellopé questionnaire avec réponse prédefini dans menu déroulant et une option "autre" pour chaque question qui , si elle est selectionné , fait apparaitre un champs text d'insertion.
    pour ce faire j'appel donc la fonction suivante qui permet de rendre visible ou non le champ text.

    <script language="javascript">

    function RendVisibleAutre(texte)
    {

    if (texte=="autre")
    document.getElementById("test").style.visibility= 'visible';
    else
    document.getElementById("test").style.visibility= 'hidden';
    }
    </script>

    mon problème est que mon questionnaire est dynamique. j'ai donc 1 BDD avec 3 tables (question,reponse,reponse_client) et donc je ve utilisé pour chque question la fonction js. je ne c donc pas comment faire pour que cette fonction chqnge de nom chaque fois qu'elle est appelé .

    pour vous expliquez mieu ce que je ve voici ce que j'ai pour le moment :

    $lResult3 = $lCoupon->SelectQuestion();
    foreach ($lResult3 as $row3)
    { $nbQuestion++;

    echo '<p>';
    //affichage de la question
    echo $row3['intitule_question'];
    echo '</p>';
    $question=$row3['id_question'];

    $lResult4 = $lCoupon->SelectReponse($question);

    echo " <SELECT size=1 onchange='RendVisibleAutre(this.value)' name='reponse".$nbQuestion."'> ";
    foreach ($lResult4 as $row4)
    {
    //affichage des reponse possible dasn option
    $reponse=$row4['id_reponse'];

    echo "\n".'<option value='.$row4['id_reponse'].'>';
    echo $row4['intitule_reponse'];
    //echo $reponse;
    echo '</option>';
    }
    ?>
    //affichage du champ autre dans chque menu deroulant qui apparai mais
    <option value='autre'>autre</option></SELECT>

    <p>
    <div id="test" style="visibility:hidden;position:absolute;">
    <input type="text" name='autre'></div>
    </p>

    MERCIIIIIIIIIIIIIIIIIIIIIII :)
    je suis en manque de savoirrr totallll svppp j'ai besoin de vous
    0
    1. Alain_42 Messages postés 5413 Statut Membre 904
       
      Bonsoir,

      mets des { } dans tes if else

      et mets une laert pou voir si tu lis bien la valeur "autre"

      
      function RendVisibleAutre(texte)
      {
      alert("Valuer selectionnee :"+texte);
      if (texte=="autre"){
          document.getElementById("test").style.visibility= 'visible';
      }else{
      document.getElementById("test").style.visibility= 'hidden';
      }
      } 
      
      0