Just nu i M3-nätverket
Gå till innehåll

Formulärkoll utan att veta fältnamnen


ns

Rekommendera Poster

Jag har ett formulär där fälten loopas fram ur en databas och får namnen ans1, ans2, ans3 osv

Eftersom jag inte vet hur många fält det blir på förhand eller vad de heter så vill jag göra nån typ av loop på alla fält vars namn börjar på ans.

 

Det jag ska kontrollera är att det är numeriska värden i fälten.

 

Hur gör jag det enklast?

 

/Niklas

Länk till kommentar
Dela på andra webbplatser

Hur gör jag det enklast?

Jag skulle räkna hur många fält som skapas genom ASP, PHP eller vad du nu använder. Utifrån det skulle jag sedan bygga ett JS-script...

 

Om du nu förstår vad tusan jag pratar om... :)

 

 

Almir - ...

____________________________________________________________

-Läser Programmet för Informatik med Systemvetenskap på MDH, Västerås.-

 

Länk till kommentar
Dela på andra webbplatser

Christopher Bergren

Visst, använd Execute(strCode). Det exekverar allt i en sträng som om det vore kod. Ex:

 

for idx=1 to n

Execute("ans" & idx & "=" & idx)

next

 

skapar variablerna

ans1=1

ans2=2

...osv...

ansN=N

 

/Chris

 

Länk till kommentar
Dela på andra webbplatser

Christopher Bergren

Ursäkta, nu fick du exempel på VBScript i ASP.

i JScript på klientsidan så:

 

<form>

<input type="checkbox" name="ans1">

<input type="checkbox" name="ans2">

<input type="checkbox" name="ans3">

</form>

<SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript">

<!--

var arrElements=document.forms[0].elements;

for (i=1;i<=arrElements.length;i++) {

el=arrElements[i-1];

if (el.name.indexOf('ans')==0) {

eval(el.name+"="+value;

}

}

//-->

</SCRIPT>

 

 

Länk till kommentar
Dela på andra webbplatser

Christopher Bergren

I den loopen kan du ju kolla fälten efter numeriska värden så här:

 

if (el.value!=parseInt(el.value)) {

// Ej numeriskt värde

}

 

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.



×
×
  • Skapa nytt...