Modérateur PHPfrance |
10684 Messages
11 avr. 2015, 10:28
En complément :
Lorsque une case à cocher est cochée, le formulaire transmet celle-ci avec pour valeur l'information contenue dans le champ "value" de l'input. S'il n'y a pas d'attribut value, alors le formulaire transmet la valeur "on".
Si la case n'est pas cochée, celle-ci n'est pas envoyée par le formulaire et elle ne sera donc pas présente dans les variables $_POST ou $_GET.
Pour tester si une case a été cochée, il suffit donc de vérifier si celle-ci est présente ou non (quelle que soit sa valeur, 1, 0 ou "on")
Dans la mesure où tu envois ces données en javascript via ajax, tu vas chercher la valeur de la case, mais cette case n'a pas d'attribut value. Il faut donc en définir un. Cependant cet attribut sera toujours présent, que la case soit cochée ou non. Il te faut donc faire le test toi même pour savoir quelle valeur transmettre dans ta requête ajax.
optin : $('#optin').prop('checked') ? 1 : 0 // si la case dont l'id est optin est cochée, transmet 1 sinon transmet 0
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...