Probleme appel fonction javascript [Résolu/Fermé]

Signaler
Messages postés
131
Date d'inscription
dimanche 2 décembre 2007
Statut
Membre
Dernière intervention
23 juillet 2009
-
Messages postés
5358
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
-
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

Messages postés
5358
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
881
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.
Messages postés
131
Date d'inscription
dimanche 2 décembre 2007
Statut
Membre
Dernière intervention
23 juillet 2009
6
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);
Messages postés
16
Date d'inscription
mardi 27 mai 2008
Statut
Membre
Dernière intervention
8 septembre 2008
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
Messages postés
5358
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
881
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';
}
}