Toon posts:

[js] Checkbox validatie (categorie wazig)

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb een formulier (name="custform") met aantal verschillende soorten vragen die uit een database geplukt worden.
Sommige vragen zijn vereist en worden door javascript gevalideerd alvorens de vragen gesubmit worden naar de volgende pagina.

Anyway, dat is het probleem, de validatie.

HTML:
1
2
3
4
5
6
7
8
9
<form method="POST" action="feedback.asp?w=new&form=1&page=2" name="custform" onsubmit="return q00()">
    <input type='checkbox' name='000' value='1' />Vraag 1<br />
    <input type='checkbox' name='001' value='1' />Vraag 2<br />
    <input type='checkbox' name='002' value='1' />Vraag 3<br />
    <input type='checkbox' name='003' value='1' />Vraag 4<br />
    <input type='checkbox' name='004' value='1' />Vraag 5<br />
    <input type='checkbox' name='005' value='1' />Vraag 6<br />
    <input type='text' name='006other' />Vraag 7<br />
</form>


Klikt men op de submit button wordt dus de javascript functie q00() aangeroepen die een true of een false waarde teruggeeft.

JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
function q00() {
    if ((document.forms['custform'].elements['000'].checked != false) || 
        (document.forms['custform'].elements['001'].checked != false) ||
        (document.forms['custform'].elements['002'].checked != false) ||
        (document.forms['custform'].elements['003'].checked != false) ||
        (document.forms['custform'].elements['004'].checked != false) || 
        (document.forms['custform'].elements['005'].checked != false) || 
        (document.forms['custform'].elements['006other'].value != "")) {
        return true;
    }
    return false;
}


De functie kijkt dus of 1 van de checkboxen aangevinkt is of het tekstveld ingevuld is.
En nu het vreemde. Het werkt alleen als checkbox 000 of 001 of 002 is aangevinkt of het tekstveld! Wanneer je alleen 003 of 004 of 005 aanvinkt, blijft de functie false returnen!

Rara.......... IE lijkt wel buggie :/

[ Voor 34% gewijzigd door Verwijderd op 19-02-2004 16:50 ]


  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

een name attribuut mag niet met een cijfer beginnen.
Verder zou ik je willen aanraden geen GET variabelen in je action te zetten, maar hiervoor hidden fields te gebruiken om die waarden in je POST mee te sturen, en je form ipv een name een id te geven.

oh ja, bij vraag 4 ben je een quote vergeten ;)

[ Voor 10% gewijzigd door crisp op 19-02-2004 16:46 ]

Intentionally left blank


Verwijderd

Topicstarter
:> :>

Eigenlijk is het dan nog waziger, waarom zou die het dan wel bij 000 t/m 002 doen :X Microsoft weer knullig bezig hoor :)

Ik gebruik name omdat id uniek moet zijn, dan kom ik in de knoop met radio buttons die zitten er ook tussen namelijk.

Anyway, you're my hero

[ Voor 32% gewijzigd door Verwijderd op 19-02-2004 17:00 ]