[PHP/JS] Checkbox name="resa[]"
Résolu
axel50397
Messages postés
113
Date d'inscription
Statut
Membre
Dernière intervention
-
axel50397 Messages postés 113 Date d'inscription Statut Membre Dernière intervention -
axel50397 Messages postés 113 Date d'inscription Statut Membre Dernière intervention -
Bonjour à tous !
Voila mon petit souci:
- J'ai un formulaire en HTML (généré par PHP) contenant une ou plusieurs checkbox selon les réponses de ma BDD.
- J'ai également un script javascript qui (onsubmit) vérifie le nombre de checkbox cochées. Si aucune, message d'erreur, return false. Si au moins une, rien, envoie du formulaire.
- Ne projet est un gestionnaire de vidéoclub, quand on fait une recherche (exemple: Star Wars), ne pouvant connaitre le nombre de réponses, j'utilise donc comme nom pour les box: name="resa[]".
- Mon problème est que quand il n'y a QU'UNE seule checkbox, le JS ne détecte aucune checkbox (cochée ou pas), et je pense que ça vient du nom des box...
Auriez-vous une petite idée de comment remédier à ça, comment nommer mes box, ou une alternative...
Voici ma situation actuelle pour une seule réponse:
PS: Aucun problème pour plus d'une réponse, même si je ne coche qu'une seule...
Merci pour votre aide !
Voila mon petit souci:
- J'ai un formulaire en HTML (généré par PHP) contenant une ou plusieurs checkbox selon les réponses de ma BDD.
- J'ai également un script javascript qui (onsubmit) vérifie le nombre de checkbox cochées. Si aucune, message d'erreur, return false. Si au moins une, rien, envoie du formulaire.
- Ne projet est un gestionnaire de vidéoclub, quand on fait une recherche (exemple: Star Wars), ne pouvant connaitre le nombre de réponses, j'utilise donc comme nom pour les box: name="resa[]".
- Mon problème est que quand il n'y a QU'UNE seule checkbox, le JS ne détecte aucune checkbox (cochée ou pas), et je pense que ça vient du nom des box...
Auriez-vous une petite idée de comment remédier à ça, comment nommer mes box, ou une alternative...
Voici ma situation actuelle pour une seule réponse:
function test_box(chkbox) { var msg = "S'il n'y a pas au moins une case cochée,\nComment effectuer la réservation ??"; for (i=0; i<chkbox.length; i++) { if(chkbox[i].checked) { msg = ""; break; } } if (msg == "") return(true); else { alert(msg); return(false); } }
<form action="resa.php?page=add" method="post" name="search_result" onsubmit="return test_box( elements['resa[]'] );"> <table class="result" cellspacing="10px"> <tr> <th>Titre</th> <th>Réservation</th> </tr> <tr> <td> </td> </tr> <tr> <td><strong>Star-Wars III</strong><br /><cite>George LUCAS</cite></td> <td><input type="checkbox" name="resa[]" value="3" /></td> </tr> </table> <br /><br /> <input type="submit" value="Réserver" /> <form>
PS: Aucun problème pour plus d'une réponse, même si je ne coche qu'une seule...
Merci pour votre aide !
A voir également:
- [PHP/JS] Checkbox name="resa[]"
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Php alert ✓ - Forum PHP
- Arrondi js ✓ - Forum Windows
- Name changer - Télécharger - Divers Utilitaires
1 réponse
function test_box(chkbox, dmsg) { var msg = "S'il n'y a pas au moins une case cochée,\nComment effectuer la "+dmsg+" ??"; if (chkbox.length) { for (i=0; i<chkbox.length; i++) { if(chkbox[i].checked) return(true); } } else { if (chkbox.checked) return(true); } alert(msg); return(false); }
L'attribut length n'existe pas quand il n'y a qu'un seul élément.
Merci à Tuxkowo =)