[JAVASCRIPT] fonction toute simple

Fermé
Julie - 29 juin 2007 à 15:09
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 - 29 juin 2007 à 16:18
Hello

J'arrive pas a faire ma fonction javascript :(

Je voudrai que lorsque l'on clique sur un input ca appel une fonction qui defini une variable :

voici mes inputs :
<input type="radio" name="vol" value="xxx" onClick="declare('oui')">
<input type="radio" name="vol" value="yyy" onClick="declare('non')">



voici ma fonction dans le head :

function declare(toto) {

if (toto=='oui') {var volo="TP"};
if (toto=='non') {var volo=""};

}


Si je rajoute
alert (volo);
dans ma fonction ca marche bien :
quand je clic sur le premier ca m'affiche une alerte avec ecris TP
et sur le second une alerte vide

Seulement c pas ca que je veux faire avec ma variable volo;
Je veux l'utiliser pour afficher ou non du texte :

plus loin dans ma page :
<? if ($volo=='TP')
{ echo"la case tp a eté coché
}
?>


Mais quand je coche cette case, ben ca m'affiche pas ce texte ! :(

Si qq'un a une idée pour m'aider ca serait formidable !!!!!!

merci a tous
A voir également:

7 réponses

je ne sais pas si tu as fait une erreur de frappe mais avec :

<?php if ($volo=='TP')
{ echo"la case tp a eté coché";
}
?>

ça marchera deja mieux :)
0
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
29 juin 2007 à 15:24
Le php s'execute côté serveur!
Le javascript s'execute côté client!

Quand ton navigateur télécharge la page web, il n'y a plus de php, il a déjà été executé sur le serveur.
Si tu fais un clic droit sur ta page web pour afficher la source, tu ne verras pas une trace de php.
0
Vi c'etait une erreur de frappe lol

j'ai bien echo"........."; dans mon code.

Mais ta remarque était pertinante
merci quand meme :p

Une idée ? à vos claviers plizzzzzz

Julie
0
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
29 juin 2007 à 15:29
Le php ne peut pas réagir à ton javascript puisque lorsque le javascript s'execute, il n'y a plus de php dans la page.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Effectivement c pas bete ca !!

Donc c pas possible comme ca...

Est ce que vous auriez une autre solution pour arriver au meme resultat ??

J'arrive a passer par une fonction qui permet de cacher la portion de texte (qui fait une 20aine de lignes en realité), puis de l'afficher en appelant ma fonction lors du clic sur le input 'oui'.
Mais le pb avec cette solution , c'est que meme si le texte est entouré d'un span hidden, hé ben jeme retrouve avec un espace de 20 lignes, vide, au mileu de ma page --> beurk lol.

y'a t'il qq chose a faite docteur ??

Biz, julie
0
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
29 juin 2007 à 16:12
Ne vous inquiétez pas mademoiselle, ce n'est pas incurable.
Tenez, je vous fais même parvenir une ordonnance séance tenante:
<html>
<body>

<script language="javascript">
function declare(toto) {

	if (toto=='oui') {document.getElementById("magicspan").innerHTML="la case tp a été cochée"};
	if (toto=='non') {document.getElementById("magicspan").innerHTML=""};

}
</script>

Oui:<input type="radio" name="vol" value="xxx" onClick="declare('oui')"><br/>
Non:<input type="radio" name="vol" value="yyy" onClick="declare('non')"><br/>

<span id="magicspan"></span>
</body>
</html>


Ainsi que vous pourrez le constater, l'attribut innerHTML permet de changer le contenu html d'un bloc.
0
Et en faisant comme ca quand je coche "non", il n'y aura pas un espace vide de la taille de ma div "magicspan" dans ma page ?

Merci Kilian :x

Julie
0
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
29 juin 2007 à 16:18
J'ai pas testé mais à priori non, il ne devrait pas y avoir de problème.
0