Ce que j'essaie d'accomplir est simple: changer la disposition des cases à cocher du navigateur via CSS. C'est possible? Ou dois-je utiliser javascript pour cela? Et comment?css case à cocher personnalisée mise en page
Merci d'avance!
Ce que j'essaie d'accomplir est simple: changer la disposition des cases à cocher du navigateur via CSS. C'est possible? Ou dois-je utiliser javascript pour cela? Et comment?css case à cocher personnalisée mise en page
Merci d'avance!
boursiers Nevermind trouvé la sollution moi-même.
Ce script que j'ai écrit vous oblige à avoir un div/span pour chaque case, avec les classes "cochée" et "non cochée" avec les dispositions respectives, et un événement onclick dans chacun, avec le code suivant (étant 'b_availcheck' l'id de la case correspondante):
<div class="checked" onclick="javascript:change_checkbox(this, 'b_availcheck');"></div>
le javascript:
function hide_checkboxes() {
var checkboxes = document.getElementsByTagName('input');
for (var i = 0; i < checkboxes.length; i++) {
if (checkboxes[i].type == 'checkbox') {
checkboxes[i].style.visibility = 'hidden';
}
}
}
function change_checkbox(e, target) {
if (e.className == 'checked') {
document.getElementById(target).checked=false;
e.className = 'unchecked';
}
else {
document.getElementById(target).checked=true;
e.className = 'checked';
}
}
window.onload = hide_checkboxes;
Ce script attache un événement onload à la fenêtre, les cases à cocher par défaut seront cachés au démarrage .. en outre, si le javascript est désactivé , les cases à cocher par défaut fonctionneront au lieu de cela ceux-là (merci beaucoup à Tigraine pour le conseil)
Si vous avez besoin de ce navigateur indépendant, optez pour un contrôle personnalisé.
Jetez un oeil à
Si vous ne voulez pas une base jQuery puis regardez pour
Checkboxes, Radio Buttons, Select Lists, Custom HTML Form Elements
Je voudrais mieux une solution sans JQuery. Je sais comment le faire dans ce cadre, mais il n'y a pas besoin de l'utiliser dans ce cas, puisque le seul javascript dont j'ai besoin est à cet effet. – yoda
phoenix, votre deuxième exemple utilise trop de code pour quelque chose de simple, et le troisième exemple utilise réellement jquery. – yoda
il est impossible avec css, vous devez utiliser javascript . Je recommande vraiment fancy-form
Ce que nous avons l'habitude de faire est de créer une solution Javascript personnalisée (un div qui change de couleur lorsqu'on clique dessus) qui change la valeur d'une case cachée.
De cette façon, vous n'êtes pas limité par CSS et si Javascript est désactivé, il se dégrade bien à un checkbox normal (très important pour l'accessibilité)
Merci pour le conseil: D – yoda
+1 amélioration progressive bat JS seulement. Cependant, la ré-implémentation des contrôles de formulaire peut toujours présenter des problèmes d'accessibilité. par exemple, le code d'exemple de Yoda ne peut pas être contrôlé au clavier comme une vraie case à cocher. – bobince
Que voulez-vous dire par cases à cocher du navigateur? – rahul
Mise en page de la case à cocher? S'il vous plaît expliquer votre question plus. – Randell
Voulez-vous modifier l'apparence 3D par défaut de la case à cocher? – rahul