Vérification de checbox help!

Dark_Kirua Messages postés 12 Date d'inscription jeudi 23 décembre 2004 Statut Membre Dernière intervention 8 janvier 2006 - 6 janv. 2006 à 21:42
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 - 8 janv. 2006 à 15:05
Bonjour,
je recherche un scirpt qui permet de faire comme lors des inscriptions, cad cocher une case "j'accèpte les conditions" pour que le bouton valider soit en disable == true, cependant, je n'ai pas une case à cocher, mais 27!!!
Merci de votre aide!
Dark Kirua (je n'ai pas su si il fallait que je classe en AU SECCOURS ou débutant lol)

16 réponses

rrk275 Messages postés 540 Date d'inscription vendredi 25 juin 2004 Statut Membre Dernière intervention 1 octobre 2007 2
7 janv. 2006 à 00:13
bah une petite boucle for qui verifie tes 27 checkbox ...

function checkcheckbox(){

allcheck = true;//on par du pricipe qu'il sont cochés

for(i=0;i<27;i++)

{

if(document.nomdetonformulaire.nomdetesboutons[i].checked==false){//et si c'est faux et bah on valide pas ..








allchek = false;//et voila c'est false ...








}

}

if(allcheck)document.nomdetonformulaire.submit();//si ils sont tous cochés on envoie ..
}

et tu met un
apres tu peux faire la meme chose en php mais je pense que ca ne s'y prete moins
0
Dark_Kirua Messages postés 12 Date d'inscription jeudi 23 décembre 2004 Statut Membre Dernière intervention 8 janvier 2006
7 janv. 2006 à 10:09
Non ça ne marche pas comme je veux :( va voir sur http://www1.covers.free.fr/valider2.php por voir ce que je eux (actuellement que 2 checkbox pour les tests!)
a+
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
7 janv. 2006 à 10:59
Bonjour,
ce qu'a donné rrk275 devrait marcher, ou pas loin,
tu as du mal appliquer...
en plus en ne disant que "ça marche pas comme je veux"
difficile de répondre.
une solution ( parmi des milliers d'autres ), mais
ça dépend de ce que tu veux !!!

<html>
<head>
<script type="text/javascript">
function ctr(chk)
{
for ( var n=0;n<chk.length;n++ )
{
if ( !chk[n].checked ) return false;
}
return true;
}
</script>
</head>

<form action="javascript:alert('tout est coché');"
method="post"
name="frm"
onsubmit="return(ctr(frm.choix));">
J'accepte le reglement

J'accepte le reglement

</form>

</html>

Cordialement. Bul. ~ Site ~
0
Dark_Kirua Messages postés 12 Date d'inscription jeudi 23 décembre 2004 Statut Membre Dernière intervention 8 janvier 2006
7 janv. 2006 à 14:49
Oui c'est ce que je recherche sauf que la, il faut coher toutes les cases pour que le bouton se trnasforme en submit. Ce que je cherche, c'est que le bouton passe en disabled = false quand on a tout coché et si on a pas tout coché le bouton, il reste en disabled = true, comme le bouton du livre d'or de cette page: http://www1.covers.free.fr/livreor.php
Désolé de ne pas avoir été assez précis!
Pour info, les name des boutons seront:
lignea
ligneb
...
ligneh
lignei

puis

colonne1
colonne2
...
colonne8
colonne9

et enfin

case1
case2
...
case8
case9

et si les chiffres sont interdits (ce que je ne crois aps je suis vraiment novice en javascript, pardonnez mon ignorance...) je les remplacerais apr des lettres!
la valeur des checkbox n'a aucune importance car ils ne seront pas du tout traités par le script PHP qui s'execute à la validation.

De plus, ma page sera valide XHTML1.1 donc le formulaire n'a pas le droit d'avoir de nom (pour l'instant elle ne l'est aps mais ce n'est qu'un test!)
What else...

Ah oui en fait, c'est pour faire un Sudoku et les gens qui y joueront, pour s'aider, pourront cocher les cases des lignes, des colonnes, et des groupement de 9 cases (pour ceux qui connaissent pas le sudoku http://fr.wikipedia.org/wiki/Sudoku). je sais c'est aps clair mais je m'explique:
un joueur commence une grille et à chaque fois qu'il finit une ligne, une colonne ou une "région" de 9 cases, et qu'il pense qu'il n'y a pas d'erreur, il coche la checkbox correspondante. Lorsque toutes les cases sont cochées, alors ça veut dire que le joueur est pret à valider la grille et là c'est le PHP qui prend le relais.
J'aimerais aussi faire en sorte que les checkbox effectuent une action dans la grille: qu'elles colorient la ligne, colonne ou "région" correspondante pour rendre encore plus claire la résolution du Sudoku au joueur. Le problème, c'est que je n'ai vraiment pas le niveau pour faire ça... mais si une âme généreuse a la bonne idée de m'aider dans ma tâche, qu'elle se manifeste et elle sera la bienvenue!!! Si cette personne le désire, elle aura son nom dans le site.

Si je n'ai pas été assez clair, merci de me le préciser et j'essairais de faire mieux

a+ et merci beaucoup à vous deux.

Dark Kirua
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
7 janv. 2006 à 15:16
on peut voir les choses comme ça.
personnellement ça ne me convient pas, je préfère
laisser le bouton submit visible mais transmettant
le formulaire uniquement si toutes les cases sont cochées.
mais chacun ses goûts.
il faut donc, à chaque click sur un "radio" regarder s'il en
reste 1 non coché, si c'est la cas => cacher le submit,
sinon => le montrer.

<html>
<head>
<script type="text/javascript">
function ctr()
{
var n=1;
while ( document.getElementById("choix"+n) )
{
if ( !document.getElementById("choix"+n).checked )
{
document.getElementById("ButSub").style.display="none";
return;
}
n++;
}
document.getElementById("ButSub").style.display="inline";
}
</script>
</head>

<form method="post">
J'accepte le reglement

J'accepte le reglement

</form>

</html>

pas testé avec le renard de feu ( dit FF ), mais
s'il y a une erreur, c'est pas loin...
Cordialement. Bul. ~ Site ~
0
Dark_Kirua Messages postés 12 Date d'inscription jeudi 23 décembre 2004 Statut Membre Dernière intervention 8 janvier 2006
7 janv. 2006 à 16:05
C'est vrai que c'est pas loin du tout mais pas exactement ce que je recherche!
je préfère
laisser le bouton submit visible
Oui moi aussi je veux pas le supprimer totalement, je veux qu'il soit en disabled comme le bouton que l'on voit ici: http://www1.covers.free.fr/valider.php

En tout cas merci de ton aide je vais essayer de voir comment je peux faire ça mais si tu trouves une solution avant moi, n'hésite pas lol
a+
Dark Kirua
0
Dark_Kirua Messages postés 12 Date d'inscription jeudi 23 décembre 2004 Statut Membre Dernière intervention 8 janvier 2006
7 janv. 2006 à 16:19
Bon alors voila:

<html>
<head>
<script type="text/javascript">
function ctr()
{
var n=1;
while ( document.getElementById("choix"+n) )
{
if ( !document.getElementById("choix"+n).checked )
{
document.getElementById("ButSub").disabled=true;
return;
}
n++;
}
document.getElementById("ButSub").disabled=false;
}
</script>
</head>

<form action="" method="post">
J'accepte le reglement

J'accepte les conditions

</form>

</html>

ce code marche comme je veux mais je suis obligé de nommer toutes mes checkbox par nomdelacheckbox suivi d'un nombre i commencant à un et devant être une valeur incrémentée, par exemple, choix1, choix2 est valide mais pas choix10, choix 20 ou meme choix1, validation2...
tant pis pour mes noms de checkbox ligne[i], colonne[i] et case[i] je m'arrangerai autrement!
Merci beaucoup à toi!!!

Au fait, du fait que les noms toi tous choix[i], je peux encore faire mon système de coloration susmentionné?
a+
Dark Kirua
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
7 janv. 2006 à 16:22
baf !?!?!?
remplacer style.display= par disabled= true ou false

>>Oui moi aussi
oui ? mais pas dans les mêmes conditions
et appels au javascript que je considère
comme inutils ( à chaque fois que l'on touche
un bouton et non pas 1 seule fois, quand on valide )
Cordialement. Bul. ~ Site ~
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
7 janv. 2006 à 16:47
nos messages se sont croisés...

>>mais je suis obligé de nommer toutes mes checkbox par nomdelacheckbox
>>suivi d'un nombre i commencant à un
<humour>pas obligé ça, on peut commencer à 17 par exemple</humour>

>>et devant être une valeur incrémentée, par exemple, choix1, choix2
>>mais pas choix10, choix 20
<humour>faut incrémenter de 10 et pas de 1, dans ce cas</humour>

>>ou meme choix1, validation2...
faisable car on peut regarder tous les éléments d'un formulaire ,
mais bof, ça vaut le coup ?

>>faire mon système de coloration susmentionné?
pas compris...

Cordialement. Bul. ~ Site ~
0
Dark_Kirua Messages postés 12 Date d'inscription jeudi 23 décembre 2004 Statut Membre Dernière intervention 8 janvier 2006
7 janv. 2006 à 17:07
"J'aimerais aussi faire en sorte que les checkbox effectuent une action
dans la grille: qu'elles colorient la ligne, colonne ou "région"
correspondante pour rendre encore plus claire la résolution du Sudoku
au joueur."

En fait, prenons un exemple précis.
Le joueur joue et finit la ligne 4. Il la vérifie et trouve qu'elle est valide. Il coche alors la case correspondant a la ligne 4 de la grille qui ne vérifie pas si les résultats sont bons. Lorsque toute la grille est remplie, le joueur a coché toutes les checkbox et le bouton "valider" devient cliquable. C'est actuellement ce qui se passe.
Ce que je voudrais, c'est que lorsque le joueur coche la ligne 4, celle-ci se colorie en vert par exemple comme ça il se focalise sur les cases qu'il n'a pas remplies.
a+
Dark Kirua
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
8 janv. 2006 à 08:55
>>c'est que lorsque le joueur coche la ligne 4, celle-ci se colorie en vert
dans <table> si on parle de lignes, alors

document.getElementById("id du tableau").rows[3].style.bakkgroundColor="#008000";
OU
<tr id="ligne4"...>
document.getElementById("ligne4").rows[3].style.bakkgroundColor="#008000";

Cordialement. Bul. ~ Site ~
0
Dark_Kirua Messages postés 12 Date d'inscription jeudi 23 décembre 2004 Statut Membre Dernière intervention 8 janvier 2006
8 janv. 2006 à 10:28
Comment sait on que par exemple lorsque l'on clique sur la checkbox 11, c'est la colonne 2 qui se colore?
Au fait oui c'est bien un tableau d'utilisé!
Merci à toi
Dark Kirua
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
8 janv. 2006 à 12:03
c'est la colonne ou la ligne ?
car si c'est la ligne, ce que j'ai dit est ok,
sinon, il faut faire une boucle, pour la colonne pour toutes les lignes
tant qu'à savoir dans quelle colonne ( ou ligne ) est le checkbox,
si tu le sais, le programme peut le savoir
( calcul sur n° checkbox ==> n° ligne ou colonne, peut-être ? )

Cordialement. Bul. ~ Site ~
0
Dark_Kirua Messages postés 12 Date d'inscription jeudi 23 décembre 2004 Statut Membre Dernière intervention 8 janvier 2006
8 janv. 2006 à 13:32
Bon je suis en train de faire mon système de colorisation mais il y a un petit bug que j'arrive pas à cooriger. C'est sur http://www1.tableau_test.html
Pour l'instant seules les 2 permières checkbox marchent mais si l'on clique les 2 et que l'on désactive la deuxième, une case ne se colorie plus! Et même en décochant la première checkbox et en la re-cocahnt, rien à faire.
a+
Dark Kirua
0
Dark_Kirua Messages postés 12 Date d'inscription jeudi 23 décembre 2004 Statut Membre Dernière intervention 8 janvier 2006
8 janv. 2006 à 13:46
Bon je pense avoir trouvé une solution...
remplacer rows[0] par rows[0]cells[0] puis rows[0]cells[1] puis rows[0]cells[2] puis...
lol
a+
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
8 janv. 2006 à 15:05
c'est donc une colonne,
j'ai mis sur ce site une source "traitement sur les tableaux"
qui donne des exemples d'utilisation, et la solution ce
peut être tableau.rows[n° ligne].cells[n° colonne].style....
pas sûr que cela fonctionne avce tous les navigateurs
( ?? à vérifier avec le renard de feu par exemple ), et dans ce cas
il faudrait jouer avec des ID.
Cordialement. Bul. ~ Site ~
0
Rejoignez-nous