J'ai un cas où je veux autoriser une variable de formulaire à être définie sur l'un d'un ensemble de valeurs (dans mon cas actuel vrai/faux) ou laissé non défini (dans Dans ce cas, aucune valeur n'est renvoyée plutôt qu'une valeur «aucun» ou un blanc. Une case à cocher peut donner le bit unset mais seulement une valeur de set. Un élément radio pourrait fonctionner, en quelque sorte. Mais une fois qu'une valeur est sélectionnée, il n'y a aucun moyen de revenir en arrière. Toutes les autres entrées que j'ai regardées définissent toujours la variable, peu importe quoi. Est-ce que je manque quelque chose ou est-ce que je vais devoir accepter une solution moins qu'idéale?Entrée "A, B ou none" pour les formulaires HTML
Répondre
Mettez trois radios: A, B et Aucun
Faites un 'menu déroulant' comme indiqué ici: http://www.echoecho.com/htmlforms11.htm
Créer la valeur par défaut comme 'Aucun' suivi par l'option A et l'option B.
Qu'en est-il une liste déroulante avec
---Please Select---
Option A
Option B
J'ai postulez à un grand nombre d'emplois en ligne ces derniers temps, et ce sont les gens de la route ont pris en général.
Une boîte déroulante fonctionnerait-elle?
<select name="choices">
<option>(None)</option>
<option value="a">Choice A</option>
<option value="b">Choice B</option>
</select>
L'option Aucune est vide par défaut. Je suppose que je pourrais les filtrer à l'arrière, mais je préfère ne pas le faire. (que se passe-t-il si l'une des valeurs légales est vide?) – BCS
@BCS: Put valeur = "none" et vous êtes défini – nico
@nico: Je ne veux aucune valeur, pas une valeur vide ou même une valeur de " aucun". – BCS
Trois boutons radio ou un <select>
avec trois <option>
fera.
J'ai essayé les deux avant de poster Pour ces deux cas, il n'y a aucun moyen de faire en sorte que la requête ne contienne pas la variable (par opposition à être là et à avoir une valeur vide) – BCS
@BCS: Dans ce cas, mettez deux boutons radio et un "aucun" bouton lié à un JS qui réinitialise l'état des deux.Pas une grande interface utilisateur, mais cela fonctionnerait – nico
Vous auriez besoin d'utiliser du javascript. Si vous avez jQuery il y a plusieurs plugins de checkbox à trois états.
Par exemple: http://plugins.jquery.com/project/tristate-checkbox
Il y a aussi probablement des scripts non jQuery si vous Google pour "état tri case"
Par exemple: http://caih.org/open-source-software/tri-state-checkbox-in-javascript/
En utilisant 3 boutons radio dans un groupe, vous pourriez cachez le premier bouton radio 'none' avec CSS (visibility:hidden;
ou display:none;
), et si c'est celui sélectionné lors de la validation de votre formulaire, alors l'utilisateur n'a choisi aucune des vraies ou fausses radios.
EDIT (commentaires post):
Si personne Javascript est une exigence, vous pouvez conditionnellement appliquer une classe « hideableItem » à la radio cachée, si le script est désactivé le pire que vous obtiendrez est 3 la radio pour l'utilisateur à choisir, comme d'autres l'ont décrit. Si JS est activé, la radio par défaut est masquée et fournit le comportement que j'ai décrit.
La cachette conditionnelle si JS est dis/technique activée est décrite ici: http://lucassmith.name/2008/10/script-to-add-css-only-when-javascript-is-available.html
Je l'utilise tout le temps, son grand.
mais alors comment retournent-ils à rien s'ils changent d'avis après avoir choisi vrai ou faux? – CaffGeek
Je suppose qu'au strict minimum vous pouvez ajouter des écouteurs à vos boutons radio et si l'utilisateur clique sur la radio et qu'elle est sélectionnée, la radio cliquée n'est plus sélectionnée et la radio cachée redevient la valeur sélectionnée. Javascript minimum impliqué. – danjah
- 1. jQuery, validez A ou B mais pas A et B
- 2. Couples de colonnes uniques comme A, B ou B, A
- 3. Formulaires Symfony ou formulaires HTML normaux
- 4. environ, b = 1,2 ou a, b = [1,2] sur rubis
- 5. CouchDB: requête pour "documents marqués avec A ou B"?
- 6. python: (x a: b) ssi ou
- 7. Gammes A à B où A> B en F #
- 8. FCKEditor rompre les formulaires HTML
- 9. Envoi de formulaires HTML avec Slider en entrée (WebFX)
- 10. Ruby question syntaxe: rationnelle (a, b) et Rational.new (a, b)
- 11. Mélanger les couleurs RVB (L * a * b *)
- 12. Spécialiser l'implémentation de GenericType <A,B> pour le cas A == B?
- 13. formulaires html dynamiques
- 14. Overriding grails.views.default.codec = 'html' config retour à 'none'
- 15. Quelle est la différence entre "a is b" et "id (a) == id (b)" dans Python?
- 16. Le moyen le plus simple de convertir "a/b/c" en ["a/b/c", "a/b", "a"]
- 17. JavaScript: lorsque B hérite de A, les rappels dans A ne peuvent pas voir B
- 18. J'ai deux zones de liste (A, B) avec des valeurs et je peux envoyer des valeurs de A à B ou B à A
- 19. Comment différencier def foo [A] (xs: A *) et def foo [A, B] (xs: (A, B) *)?
- 20. Comment écrire "(A ou B) et (A ou C)" des requêtes avec Mongoid?
- 21. regex pour chercher chaîne entre [a] et [/ a] l'exclusion de toute autre balise comme [b] [/ b] qui vient entre
- 22. Un ou plusieurs formulaires pour les boîtes de sélection chaînées?
- 23. Modèle HTML/CSS pour les applications basées sur des formulaires
- 24. Entité Entité Framework: TPT, TPH ou none?
- 25. ASP.NET A/B Split Test
- 26. Rails Éditeur HTML pour créer des formulaires
- 27. Entrez la valeur A et B, puis C = A + B, stockez A, B, C dans la base de données. valeur mise à jour A ou B mettra à jour la somme C dans la base
- 28. Deux formulaires partagent la même entrée
- 29. Quelle est la différence entre double a = a + int b et int a + = double b?
- 30. problème javascript: var a = "1"; b = {a: a}, la variante b n'est pas {"1": 1}
Je ne veux pas de valeur de none ou même une valeur vide. Je ne veux même pas * avoir * une valeur. – BCS