Checkbox

Baliverne
Invité n'ayant pas de compte PHPfrance

07 nov. 2005, 15:23

Bonjour,

J'ai un formulaire avec une case cochée par défaut. Si l'utilisateur décoche la case, elle doit avoir la valeur x. Si l'utilisateur ne décoche pas la case, elle doit avoir la valeur Y.

if (document.formulaire.News.checked)
             {
             document.formulaire.News.value= "Oui";
             }
             else
             {
             document.formulaire.News.value= "Non";
             }      
Bien sûr cela ne fonctionne pas!

Merci de votre aide

Baliverne
Invité n'ayant pas de compte PHPfrance

07 nov. 2005, 16:53

J'ai trouvé une réponse sur un autre forum et cela fonctionne
if (document.getElementsByName("News")[0].checked)
             {
             var News= Oui;
             }
             else
             {
             var News= Non;
             }
Merci

Eléphant du PHP | 55 Messages

07 nov. 2005, 23:25

essaye plutot d'exploiter la fonction OnChange()
<script language="JavaScript">
function teste() {
	var news;
	if (formulaire.newsletter.checked) 
	   { var news = true; }
	else   
	   { var news = false; } }	  
</script>

Code : Tout sélectionner

<form name="formulaire" method="post" action=""> <input type="checkbox" name="newsletter" value="checkbox" onChange="teste()"> </form>
Image

Malia
Invité n'ayant pas de compte PHPfrance

08 nov. 2005, 23:05

Bonsoir,

J'ai testé le script car j'ai moi aussi besoin de faire un formulaire dans lequel j'ai une case cochée par défaut mais je ne réussis pas à attribuer une valeur à cette case suivant qu'elle soit cochée ou non.

Si la case est cochée (et elle l'est par défaut), elle doit être égale à Oui.
Si elle est décochée, elle doit être égale à non.
<input type="checkbox" checked name="accord" value="">
J'ai une fonction javascript qui vérifie l'ensemble de mes champs et le tout est inséré dans ma base de données.

J'ai essayé les scripts proposés mais il ne fonctionne pas chez moi.

Auriez-vous une solution?

Merci

Mammouth du PHP | 19672 Messages

08 nov. 2005, 23:10

La solution est à la récupération des valeurs POSTDATA : si une case à coché n'est pas cochée, elle n'apparaîtra pas dans la liste. On peut donc déterminer la valeur oui ou non selon qu'on a cette valeur ou qu'on a rien. Mais ça se passe au niveau du traitement.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe: