Obtenir la bonne case de la valeur à l'aide du formulaire.sérialiser
Nous sommes actuellement en utilisant $('form').serialize()
pour obtenir toutes les informations sur le formulaire
Ce sera le retour de toutes les valeurs de checkbox "on" ou "Off".
Est-il possible d'obtenir une 1/0 ou de valeur vrai/faux, en utilisant cette même méthode?
OriginalL'auteur Theun Arbeider | 2013-07-23
Vous devez vous connecter pour publier un commentaire.
Oui. Vous pouvez le faire en ajoutant un caché d'entrée avec le même nom que la case dont la valeur sera soumis si la case n'est pas cochée:
Il proposera les deux valeurs si la case est cochée. Mais côté serveur va lire le dernier (la valeur de la case)
Absolument pas d'accord avec vous @KarthicRaghupathi. Si multiligne personnalisé JS avec des non-transparent logique paraît "plus wieldy" pour vous, il suffit d'aller pour elle. La question d'origine était sur des valeurs binaires, pas plusieurs. Pour moi deux lignes de code html, il est beaucoup plus élégant.
l'autre approche est aussi pour les valeurs binaires. Seulement il traite de toutes les cases à cocher dans le formulaire. J'ai eu à traiter avec 20 cases à cocher dans un formulaire. Votre approche de 40 balises input, par opposition à quelques lignes de JS.
Si vous avez 20 cases à cocher sur la page, vous avez une autre question, buddy - il du UX est proche de 0. Penser à ce sujet.
Certaines applications comme les Dme/Dse ont de grandes formes avec beaucoup de cases à cocher. Il ne signifie pas nécessairement de mauvaise UX.
OriginalL'auteur roody
La valeur d'un contrôle de formulaire est toujours une chaîne de caractères. Vous pouvez utiliser les boutons radio pour obtenir des valeurs différentes pour le même nom de contrôle:
Un seul peut être vérifié, et seul le nom coché/valeur sera envoyée au serveur.
OriginalL'auteur RobG
il suffit de régler la valeur
OriginalL'auteur Rana
Si nous avons plusieurs checkboxed dans notre page comme :
nous avons à lier l'événement de changement de ces cases à cocher et affectez-lui la valeur true ou false.
Par défaut, la case de valeur n'apparaît pas dans $('form').serializeArray(), Il semble quand il est coché.
Nous devons garder un champ caché pour chaque case comme :
Maintenant, quand nous sérialiser la forme maintenant, nous obtenons la valeur correcte comme :
Check1=true
Check2=false
OriginalL'auteur Rajdeep
Vous pouvez ajouter une nouvelle classe pour les cases à cocher et de la valeur de consigne lorsque l'utilisateur clique dessus.
Et d'utiliser une petite JQuery helper
Alors vous serez en mesure d'obtenir la valeur de la case à cocher ou sérialiser un formulaire.
OriginalL'auteur Petro Franko