Pb d'affichage avec évènement onChange

Puec -  
 Puec -
Bonjour,

J'ai un formulaire html avec une liste déroulante. Je voudrais mofidier la valeur d'une variable php dans ma page et l'afficher sur l'évenement onChange du select, mais je n'ai apparemment pas la bonne méthode. La variable $tarif provient d'une requete SQL. La fonction ControleVide JS fait des controles sur les champs avant le submit

Voici mon code :

	
<head>
<script language="JavaScript" type="text/javascript">
document.resa.action = "confirmation.php?code=1";
	document.resa.submit();}
</script>
</head>

<form name="resa" method="POST">
nombres adultes 
<select name="adulte" onChange="<?php $nb = $_POST['adulte']; $total = $nb * $tarif;?>">
<option value="0">0</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
total à payer : <?php echo"$total";?>
<input type="button" name="valid" value="Valider" onClick="javascript:ControleVide();">
</form>


Je vous remercie pour toute réponse !!
A voir également:

2 réponses

sam3000 Messages postés 1226 Statut Membre 144
 
salut
tu devra peut etre nous eclaircir ce qui se passe en javascript (le code de ControlVide, ou juste le nécessaire)
en plus, à mon avis, tu devra mettre en clair le code à executer par le client (JS) directement dans la page
HTML (ou sur un fichier .js) et laisser le code PHP seulement pour ce qui se passe coté serveur
en plus, précisément pour l'evenement onChange, c'est pas de cette maniére que les valeurs sont échangés entre client et serveur
le submit doit etre fait, le serveur analyse les donnees, puis renvoi le code
le code PHP ne peut etre execute lors de la saisie du formulaire sur le client
0
Puec
 
En fait, je m'embrouille un peu sur qui (JS ou PHP) fait quoi... Peut etre as-tu une autre idée sur la facon dont je peut rendre le formulaire interactif en rafraichissant la page sans perdre mes données php et afficher un prix en fonction du nombre de personnes sélectionnées par l'utilisateur. euh... c'est clair ?

function ControleVide()
{
	good = true;
<!--d'autres vérif sont faites -->
	if ((document.resa.adulte.selectedIndex==0)&&(document.resa.enfant.selectedIndex==0))
	{good = false;
	alert('Il doit y avoir au moins un voyageur !');}
	if (good){
	document.resa.action = "confirmation.php?code=1";
	document.resa.submit();}
}


Merci pour ton aide

Gaelle
0