mis en evidence apres cochage

Eléphant du PHP | 148 Messages

27 juil. 2005, 10:55

bonjour,
pour un formulaire j'ai besoin de pouvoir activer des types textes à la suite d'une sélection d'un type radio par exemple
comment faire pour que cela se fasse sans un rafraichissement obligatoire de la page?
merci

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

27 juil. 2005, 10:56

en Javascript

événement onClick, qui appelle une petite fonction qui active le champ désiré

(la fonction n'est pas obligatoire mais ça regroupe le traitement)

Eléphant du PHP | 148 Messages

27 juil. 2005, 10:58

je n'ai jamais fait de javascript tu epux me montrer un exemple stp??
merci

Mammouth du PHP | 19672 Messages

27 juil. 2005, 11:03

Modération : Déplacé vers JavaScript, ne mélangeons pas
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

27 juil. 2005, 11:04

Code : Tout sélectionner

<html> <head> <script type="text/javascript"> function activer(champ,checkbox) { if (document.getElementById(checkbox).checked == true) document.getElementById(champ).disabled = false; else document.getElementById(champ).disabled = true; } </script> </head> <body> <input type="checkbox" id="checkbox1" onClick="activer('champ1','checkbox1');">Activer le champ texte <br> <input id="champ1" type="texte" disabled> </body> </html>
comme je l'ai dit, la fonction n'est pas obligatoire, mais elle permet de regrouper les actions en passant juste en paramètre les deux valeurs qui changent
c'est bien si tu as plusieurs fois ce genre de manipulation dans ta page ;)

Modérateur PHPfrance
Modérateur PHPfrance | 6037 Messages

27 juil. 2005, 11:06


Eléphant du PHP | 148 Messages

27 juil. 2005, 11:24

merci beaucoup et désolé pour ne pas avoir changer de topic

Eléphant du PHP | 148 Messages

27 juil. 2005, 11:59

rebonjour,
ca marche mais j'ai soucis
je reste ici parce que ca peut concerner le php
voila le code que j'utilise:
<TD><INPUT TYPE=radio NAME="Admission" VALUE="admissible" CHECKED id="admissible" onClick="desactiver('PreciseAttente','admissible')"/>  <label for="admissible"> admissible</label><br />
   <TD><INPUT TYPE=radio NAME="Admission" VALUE="non admissible" id="non admissible" onClick="desactiver('PreciseAttente','non admissible')"/> <label for="non admissible"> non admissible</label><br />
   <TR><TD><TD><INPUT TYPE=radio NAME="Admission" VALUE="admis" id="admis" onClick="desactiver('PreciseAttente','admis')"/>  <label for="admis"> admis</label><br />
   <TD><INPUT TYPE=radio NAME="Admission" VALUE="non admis" id="non admis" onClick="desactiver('PreciseAttente','non admis')"/>  <label for="non admis"> non admis</label><br />
   <TR><TD><TD><INPUT TYPE=radio NAME="Admission" VALUE="attente" id="attente" onClick="activer('PreciseAttente','attente')"/>  <label for="attente"> attente</label><br />
   
   <TD>precisez  attente:
	<select name="PreciseAttente" id="PreciseAttente" disabled>
			<option value="<?= $val_defaut['PreciseAttente']?>"><?= $val_defaut['PreciseAttente']?></option>
			<option value="une place">une place</option>
			<option value="confirmation">confirmation</option>
	</select>		

mais j'envoie ces informations dasn une base données avec mysql mais quand je veux mettre PreciseAttente dans cette base il me dit que cette variable est indéfinie or elle l'est dasn la base, je l'ai initialisé à zéro, le fait de la mettre inactive n'est il pas à l'origine de ce problème?
merci

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

27 juil. 2005, 12:09

oui, si tu désactives un champ il n'est pas transmis, donc la variable associée n'est pas définie dans le code

Eléphant du PHP | 148 Messages

27 juil. 2005, 12:21

mais alors comment puis je m'en sortir,
ca ne me pose pas bcp de problème mais le message s'affiche toujours et c'est génant y 'a t'il une solution?

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

27 juil. 2005, 12:23

tester si la variable existe, si elle n'existe pas l'itinialiser à vide
=> http://fr2.php.net/isset

Eléphant du PHP | 148 Messages

27 juil. 2005, 12:37

j'utiliserais defined mais je n'y arrive aps rien ne marche je ne dois pas utiliser les bonnes variables je commence à m'y perdre avec les champs des formulaires et ceux de la base
voila la ou ca pose probleme:
function MAJParcours3 ( $mode, $cava, $connexion)
{
// Préparation des variables, en traitant par addSlashes
// les chaînes de caractères


$nom = addSlashes($cava['nom']);
$prenom = addSlashes($cava['prenom']);
$Admission = addSlashes($cava['Admission']);
$PreciseAttente= addSlashes($cava['PreciseAttente']);

$requete = "UPDATE Formulaire SET nom='$nom' , "
. "Admission='$Admission',"
. "PreciseAttente='$PreciseAttente'"
. "WHERE nom = '$nom' AND prenom='$prenom' ";

// Exécution de l'ordre SQL

ExecRequete ($requete, $connexion);
}
?>

je comprend bien ce qui se passe mais comment faire pour envoyer une valeur pour le champ PreciseAttente sasn que cela se voit, j'ai essayer avec un type hidden mais je n'ai pas réussi
en gros normalement je teste si le champ PreciseAttente est défini si il ne l'est je crée un hidden mais je n'y arrive pas je dois me planter quelque part

merci

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

27 juil. 2005, 12:39

met ton code entre balises PHP stp

ça c'est bien à réception du formulaire on est d'accord ?

c'est quoi $cava ?

édition : en fait poste un nouveau sujet dans le bon forum, c'est plus du javascript ça

Eléphant du PHP | 148 Messages

27 juil. 2005, 13:23

$cava est ma base de données mais je sais plus comment faire la
oui quand je recois mon formulaire j'appelle une fonction dasn le programme principal et c'est le code qu'il y a dans la fontion
ce que je voudrais c'est que dans le formulaire j'envoie ce champ en étant caché si celui si n'est pas défini,
j'ai essayé un tas de code mais rien ne fonctionne
merci

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

27 juil. 2005, 14:00

mais là c'est une variable d'un formulaire que tu reçois, donc $_GET['PreciseAttente'] ou $_POST['PreciseAttente'], qu'est-ce que vient faire $cava ? :shock:

pas de nouveau post sinon ? ça permettrait de voir ce que tu fais un peu plus clairement, notamment l'appel de fonction

et puis ça serait plus à sa place