Toon posts:

[JS] aantal meegestuurde variabelen check

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hoihoi,

Probleempje met javascript.
Ik wil een functie schrijven die kijkt of alle velden van een formulier zijn ingevuld.

Hoe kan ik dat nou het beste doen. Het probleem is, is dat het een standaard functie moet worden. Het is dus niet bekend hoeveel velden er zijn. En hoe ze heten.

Ik zat dus te denken aan zoiets als
code:
1
2
3
4
5
6
7
function valForm(fieldArray) {
  for (var i = 0; i< fieldArray.length; i++) {
    if (this.fieldArray[i].value.length <1) {
    alert("U dient alle velden in te vullen.")
    }
  }
}

nu wil ik dus niet een kant en klare array meesturen, maar gewoon de veldnamen, dus zoiets als:
code:
1
<form name=testform action=test.htm onsubmit="valForm('test,bla')">

Maar dit doet het niet.
Weet iemand hoe het script van de meegestuurde waarden een array kan maken? Moet ik dan een spilt doen ofzo?

Iemand tips?

Verwijderd

Wil je nou dat die alle forms controleert, of alleen de gespecificeerde veldnamen ??

Verwijderd

Topicstarter
Alleen de gespecificeerde veldnamen.

Het met wel mogelijk zijn om meerdere formulieren per pagina te controleren. De functie moet gewoon in een include- .js bestand opgenomen worden en vanaf elke pagina op te roepen zijn met

onsubmit="valForm(veldnaam1,veldnaam2,veldnaam3,etc);"

Is dit mogelijk? Ik denk dat ik de de veldnamen moet verzenden gescheiden door komma's ofzo.. ik weet nl niet hoeveel variabelen ik ga meesturen. De functie moet dus onafhankelijk zijn van de html-formulieren

  • RM-rf
  • Registratie: September 2000
  • Laatst online: 16:20

RM-rf

1 2 3 4 5 7 6 8 9

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
function valideerForm()
{
   args = valideerForm.arguments
   thisForm = args[0]
   for (i=1;thisElem=args[i];i++)
   {
     if (thisForm.elements[thisElem].value.length < 1)
     {
         alert("U bent vergeten veld:"+thisForm.elements[thisElem].name+" nog in te vullen")
         return false
     }
   }
}

deze functie kun je aanroepen door als eerste variabele this.form te gebruiken, en de rest alle names van form-elements die gechecked dienen te worden.

Intelligente mensen zoeken in tijden van crisis naar oplossingen, Idioten zoeken dan schuldigen


Verwijderd

Topicstarter
wow! ziet er goed uit!

dus als ik het begrijp:

onsubmit="valideerForm(this.form,'blaat','adres','woonplaats','etc')?

Bedankt!!

Verwijderd

Topicstarter
hmm,

ik krijg bij

onsubmit="valideerForm(this.form,"test","bla")"

een error, en bij

onsubmit="valideerForm("this.form","test","bla")"

een error, en bij

onsubmit="valideerForm("formuliernaam","test","bla")"

een error, en bij

onsubmit="valideerForm(this.form,'test','bla')"

ook een error...



hoe roep ik hem nou op? *desperate look* :)

Verwijderd

Topicstarter
RM-rf?

Zou je misschien zo aardig willen zijn om mij ook nog te vertellen hoe ik hem oproep? Zie mijn vorige post.. Ik kom er niet uit :(

*javascript newbie*

Truste :)

  • Annie
  • Registratie: Juni 1999
  • Laatst online: 25-11-2021

Annie

amateur megalomaan

onsubmit="return valideerForm(this, 'test', 'bla')"

Today's subliminal thought is:

Pagina: 1