hallo,

Ik heb een formulier, ik wil per titel een enable, en disable functie.

dus:

[X]Personalia:
naam
voornaam
geboortedatum
etc....

[X]rijbewijs:
A
B
C
w/e....


[X] stelt hierbij eventjes een checkbox voor, ik had al een mini functie, in javascript, waar hij dmv de id, het vakje enabled, of disabled, maar zodra ik alle velden, onder een titel, de zelfde id mee geef, werkt de functie niet meer...

Ik hoop dat iemand me verder kan helpen.

groeten.

@wesley

Bij een formulier gebruik je een uniek id voor de verschillende velden. Deze gebruik je in de labels voor de betreffende input (of checkboxes e.d.), een id mag ook altijd maar 1 keer voorkomen, voor opmaak moet je een class gebruiken als je wilt dat die voor alle velden geldt.
oke maar... Hoe doe ik het dan wel? Alle velden binnen dat blok disablen of enablen? ik kan dat wel met een functie, maar dat pakt dan de gehele form. en k weet niet of ik een form in een form mag hebben.
Maak gewoon een array aan van je ID's (blabla[1], blabla[2])
Als je een JS library als jquery gebruikt kan je ook eenvoudig iets doen als:

$('classname') (of misschien dat het met punt moest, weet ik zo niet)

Dan geef je alles zelf een id mee, en de groepen eenzelfde classname. Dan moet het ook kunnen.

<script type="text/javascript"> 

  function DisableEnableForm(xForm){
  objElems = xForm.elements;
  formn = xForm;
  for(i=0;i<objElems.length;i++){
      if(objElems[i] != 1){
    objElems[i].disabled = !document.formtest.formn.checked;
      }
  }
}

</script>


formn pakt ie niet. hij zet gewoon neer formn ipv de waarde. *xform is de naam van het huidige form* waarom pakt hij de variable niet?
@wesley

Hoe en waar roep je die functie aan dan?
je kan een input meerder classes geven, dus als je 1 class gebruikt voor de style, en de andere in welke groep deze hoort ben je klaar.

Voorbeeld:
<input id="naam" class="anw textfield" />
<input id="achternaam" class="anw textfield" />
<input id="adres" class="anw textfield" />

<input id="rijbewijs" class="rijbewijs textfield" />
<input id="gehaald" class="rijbewijs textfield" />
<input id="puntenkwijt" class="rijbewijs textfield" />

als je dan in je java zorgt dat alles objecten met de class anw / of rijbewijs enabled worden, dan ben je klaar.

succes!
Maak van:
formn = xForm;
eens:
var formn = xForm;
Let wel op dat je heel leuk dat disabled kan toevoegen, maar als je een browser hebt zoals Opera dat je de "broncode" (ctrl-u) gewoon kan aanpassen.

Reageren