Klein vraagje;
Ik bouw met PHP dynamisch een formulier op met checkboxes daarin.
De naam van de checkboxes zijn bij allen test[] (op die wijze ontvang ik de waarden als array in PHP, op de volgende pagina).
Als ik een aantal checkboxes heb en ik druk op versturen, dan ontvang ik de waarden van de checkboxes in de POST-array genaamd `test`
Ik gebruik, nog voordat het formulier verzonden is, javascript om te controleren of er minimaal één van de checkboxes aangevinkt is. Om dit te controleren loop ik door de statussen (.checked) van de checkbox-elementen heen.
Echter, en dat is mijn vraag, krijg ik een foutmelding als er maar één checkbox in het formulier staat. Javascript ziet het element `document.getElementById('delete_subpr_form')['test[]']` dan niet meer als array, maar als string. Is dit een bugje, of doe ik iets verkeerd?
Edit;
Iets makkelijker uitgelegd is:
Als ik een formulier heb dat er zo uitziet:
...dan:
maar als ik een formulier heb dat er zo uitziet;
...dan:
Nogmaals, is dit een bugje of doe ik iets op de verkeerd wijze?
Ik bouw met PHP dynamisch een formulier op met checkboxes daarin.
De naam van de checkboxes zijn bij allen test[] (op die wijze ontvang ik de waarden als array in PHP, op de volgende pagina).
Als ik een aantal checkboxes heb en ik druk op versturen, dan ontvang ik de waarden van de checkboxes in de POST-array genaamd `test`
code:
1
2
3
4
5
| [test] => Array
(
[0] => 4
[1] => 5
) |
Ik gebruik, nog voordat het formulier verzonden is, javascript om te controleren of er minimaal één van de checkboxes aangevinkt is. Om dit te controleren loop ik door de statussen (.checked) van de checkbox-elementen heen.
code:
1
2
3
| for(i=0;i<document.getElementById('delete_subpr_form')['test[]'].length;i++)
{
//etc. |
Echter, en dat is mijn vraag, krijg ik een foutmelding als er maar één checkbox in het formulier staat. Javascript ziet het element `document.getElementById('delete_subpr_form')['test[]']` dan niet meer als array, maar als string. Is dit een bugje, of doe ik iets verkeerd?
Edit;
Iets makkelijker uitgelegd is:
Als ik een formulier heb dat er zo uitziet:
code:
1
2
3
4
| <form> <input type="checkbox" name="test[]" value="1"> <input type="checkbox" name="test[]" value="2"> </form> |
...dan:
code:
1
| document.getElementById('delete_subpr_form')['test[]'].length == 2; |
maar als ik een formulier heb dat er zo uitziet;
code:
1
2
3
| <form> <input type="checkbox" name="test[]" value="1"> </form> |
...dan:
code:
1
| document.getElementById('delete_subpr_form')['test[]'].length == 'undefined'; |
Nogmaals, is dit een bugje of doe ik iets op de verkeerd wijze?
[ Voor 45% gewijzigd door Verwijderd op 10-06-2005 15:08 ]