Probleme appel fonction javascript

Résolu/Fermé
G4uthier
Messages postés
131
Date d'inscription
dimanche 2 décembre 2007
Statut
Membre
Dernière intervention
23 juillet 2009
- 17 mars 2008 à 18:37
Alain_42
Messages postés
5358
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
- 13 juin 2008 à 21:42
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

2 réponses

Alain_42
Messages postés
5358
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
901
17 mars 2008 à 19:03
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
G4uthier
Messages postés
131
Date d'inscription
dimanche 2 décembre 2007
Statut
Membre
Dernière intervention
23 juillet 2009
7
17 mars 2008 à 21:00
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
djoyanna
Messages postés
16
Date d'inscription
mardi 27 mai 2008
Statut
Membre
Dernière intervention
8 septembre 2008
1
12 juin 2008 à 16:35
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
Alain_42
Messages postés
5358
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
901
13 juin 2008 à 21:42
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