Bonjour, j'aimerais savoir sans utiliser JS, s'il existe une méthode pour que dans un groupe de checkbox, au moins un (n'importe lequel) doit être coché.
Oui dsl, je trouvais la question un peu simpliste aussi.
Donc soit en JS ou langage serveur pour bien vérifier si une valeur à été renvoyée.
Mais bon par définition si l'utilisateur doit forcément avoir fait un choix, alors c'est sur le type radio qu'il faut regarder, les checkbox laissent justement cette liberté de rien remplir, chaque type à son usage.
C'est fais la fonction voulu mais je viens de voir c'est dépendant d'une seul case après le test devra se faire en php (voir js ou autre language) car en HTML/CSS tu ne peux traiter l'information
Un jour les Valaisans domineront le monde. Mais pas demain, ya apéro
Oui, au risque de te déplaire chaque type à un sens et son propre comportement. Tout est bien pensé. Perso si je me trouve devant un formulaire avec des checkbox je comprend que j'ai le choix de répondre ou non. Par contre avec des radio la je sais qu'il faut faire un choix.
Ton idée étrange, imagine un tel comportement pour un formulaire de devis en ligne.
Bah ensuite tu peux faire confiance à tes utilisateurs pour lire une petite note "pensez à cocher au moins une case" Est-il possible pour un utilisateur de modifier l'écrit par la suite ?
Pas d'aide concernant le code par MP, le forum est là pour ça :)
Oui, en même temps une petite vérification complémentaire et un rappel en JS c'est pas la mer à boire:
if (!(document.querySelector("#check1").checked || document.querySelector("#check2").checked || document.querySelector("#check3").checked)) {
alert("Veuillez sélectionner au moins une option !");
}
- Edité par philiga 21 janvier 2015 à 10:27:01
"La Vérité doit être dite, le monde dût-il en voler en éclats" (J. G. Fichte)
Je vais le faire en JQuery, lors de la validation du formulaire, je stop l'envoie de données puis je vérifie si une des checkboxes est coché, si oui, j'envoie les données sinon, j'affiche un p'tit alert("coché au moins une case");
J'utilise JQuery pour d'autre module sur mon site donc, il est déjà chargé et prêt à l'emploie.
Voici mon script :
$('form').submit(function(act){
act.preventDefault();
act.stopPropagation();
var oneChecked = false;
$('input:checkbox').each(function(i){
var name = $(this).prop('name');
if(name == "groups[]")
if($(this).prop('checked'))
oneChecked = true;
});
if(oneChecked)
$(this).unbind('submit').submit();
else
alert("Vous devez au moins sélectionner un groupe, sinon votre message ne sera jamais visible !");
});
@Hsuissia: Très juste; comme je l'avais déjà noté dans un autre post (http://openclassrooms.com/forum/sujet/afficher-cacher-une-div-article-sectio-par-un-clic), ça me rassure de voir que je ne suis pas le seul à remarquer qu'on abuse de JQuery.
D'autant que mon code en pur JS fait en 2 lignes d'instructions simples ce que celui en jQuery fait en 18 sachant, en outre, que chaque ligne de jQuery met en route des fonctions à interpréter d'abord en tant que code jQuery avant qu'elles puissent commencer à exécuter ce que l'on en attend...
De plus, si on n'utilise pas exactement la même version et le même fournisseur, on peut fort bien télécharger plusieurs librairies jQuery. (De l'intérêt de les charger toujours depuis les serveurs Google).
- Edité par philiga 21 janvier 2015 à 13:18:07
"La Vérité doit être dite, le monde dût-il en voler en éclats" (J. G. Fichte)
Certes mais je considère que JQuery est largement plus simple à utilisé que Pure JS.
philiga, ta fonction est incorrect selon mon contexte (le nombre de checkboxes, vérification lors du submit, puis l'envoie), je suis persuadé que re-écrire ma fonction JQuery en JS Pure ferais largement plus de ligne.
J'ai déjà fait du Pure JS, et lorsque je vois la facilité d'utilisation de JQuery (exploration du DOM, getter et setter d'un élément), le choix est rapide.
Dans mon contexte, le fait de devoir chargé l'entièreté de la bibliothèque JQuery ne pose pas de problème (d'ailleurs, il s'agit d'une exigence du client ), puisque je dois à plusieurs moment effectuer des interactions JS.
"Plus facile" Encore heureux, jQuery est un framework Javascript, et qui dit framework dit simplification du code ( Tel que Symfony2 pour PHP ( je le site lui comme tant d'autre ) )
Par contre ton $('#targetmonid').... le $ cache une fonction qui doit bien faire 200 lignes de code rien que pour trouver ton id. ( Faut pas oublier que $ est une fonction Javascript, qui fait la simplicité de jQuery )
Je dis 200 lignes mais je te laisse libre d'aller regarder par toi même.
Voir une araignée c'est rien ... Le pire c'est quand tu ne la vois plus !
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
La doc est la bible du développeur !
La doc est la bible du développeur !
La doc est la bible du développeur !
La doc est la bible du développeur !
La doc est la bible du développeur !
La doc est la bible du développeur !
La doc est la bible du développeur !
La doc est la bible du développeur !
La doc est la bible du développeur !
Pas d'aide concernant le code par MP, le forum est là pour ça :)
La doc est la bible du développeur !
La doc est la bible du développeur !
La doc est la bible du développeur !