2010-06-29 4 views
0

J'ai un appel AJAX dans mon application jQuery/PHP. Il doit envoyer des données à un script PHP à traiter (j'ai cette partie qui fonctionne bien).Passer une case à cocher, via jQuery, à PHP

ma variable jQuery:

var form_data = { 
    urltitle: '<?php echo $urltitle; ?>', 
    subscribe: $('#subscribe').val(), 
    comment: $('#commentbox').val() 
}; 

Cela fonctionne bien, le script PHP lit les valeurs de toutes les variables - à l'exception de la variable 'subscribe'. Abonnez-vous est une case à cocher, comme suit:

<input type="checkbox" name="subscribe" checked="checked" value="subscribe" id="subscribe"/> 

Comment puis-je passer la « valeur » de la case à mon script PHP? J'ai une version non-AJAX de ce script aussi, ce qui est presque identique, à l'exception du côté PHP J'utilise:

if (isset($_POST['subscribe'])) { /* do something */ } 

Et cela fonctionne très bien ...

Merci!

Jack

+0

possible dupliquer [Jquery - Vérifiez si la case est cochée] (http://stackoverflow.com/questions/2204250/jquery-check-if-checkbox-is-checked) – R0MANARMY

Répondre

0

Quand vous dites que la valeur voulez-vous dire abonner ou vous voulez juste savoir si la case a été cochée ou non.

Si vous voulez juste savoir si elle a été vérifiée alors vous pouvez faire $('#subscribe:checked').val() et si elle est nulle alors vous savez qu'elle n'est pas vérifiée et si ce n'est pas le cas, vous devriez avoir la valeur dans votre cas s'abonner.

+0

Si souscrit est décochée alors .val() sera "non défini" non? ce serait comme appeler .val() sur un résultat jQuery de longueur nulle. –

+0

Salutations Darren, cela a fait l'affaire. Célèbre Nerd, je me rends compte que ce serait indéfini s'il n'était pas coché, mais mon PHP lit simplement if (isset ($ _ POST ['subscribe'])) {fait quelque chose} else {fait autre chose}. Donc, il n'a pas besoin de vérifier si c'est «indéfini». Mais, merci :) – Jack

+0

@ R0MANARMY, effectivement oui. Parce que @Famous Nerd, commente @ darren102 répondre qui dit que $ ('# subscribe: checked'). Val() 'retournerait null .. il renverrait' undefined' (* notez qu'il demande la valeur de le #subscribe vérifié .. ainsi si elle n'est pas vérifiée elle renverra aucun objet de jquery .. *) –

1

.is(':checked') devrait fonctionner