webForumDet fria alternativet

Hitta input-fält

7 svar · 299 visningar · startad av Web-Tor

Web-TorMedlem sedan nov. 200013 890 inlägg
#1

Jag har input-fält med id av typen 1_labour_percentage_1.
Jag vill ha en loop som hittar alla fält som innehåller labour och sedan skriva till dessa.

Typ så här:

type = input.name.split('_')[1];

if (type=="labour"){
	// Hitta alla andra fält som har [b]labour[/b] och mata in värdet "Hej".
}
@ndersMedlem sedan juni 200032 969 inlägg
#2

Hej, Tor!

Se om detta kan duga:

<script>
function foobar() {
	var elements = document.getElementsByTagName('input');
	for(i = 0; i < elements.length; i++) {
  		if(elements[i].id.indexOf('labour')!=-1) {
			elements[i].value='Hej';
		} 
	}
}
</script>

Mvh

Web-TorMedlem sedan nov. 200013 890 inlägg
#3

Nja... det funkar inte riktigt.
if-loopen körs inte alls.

@ndersMedlem sedan juni 200032 969 inlägg
#4

Det fungerade när jag testade i alla fall. Får man se på övrig kod och sammanhang?

mvh

Web-TorMedlem sedan nov. 200013 890 inlägg
#5

Oj! Det är mycket (och hemlig) kod på sidan. ;)
Hur har du döpt dina input-fält som ska hittas?
'labour' är ju bara en del av namnet men du menar att det ska funka ändå?

@ndersMedlem sedan juni 200032 969 inlägg
#6

Jo, det borde fungera, tycker jag. Så här ser min (åtminstone i IE6) fungerande testkod ut:

<script>
function foobar() {
	var elements = document.getElementsByTagName('input');
	for(i = 0; i < elements.length; i++) {
  		if(elements[i].id.indexOf('labour')!=-1) {
			elements[i].value='Hej';
		} 
	}
}
</script>

<form>
<input type="text" id="foo"><br>
<input type="text" id="labour1"><br>
<input type="text" id="foo"><br>
<input type="text" id="2labour"><br>
<input type="button" id="labour!" value="fjoo" onclick="foobar();">
</form>

Mvh

Web-TorMedlem sedan nov. 200013 890 inlägg
#7

Ah! :i Jag använde name istället för id på mina fält.
Tack farbrorn! :)

PalleMedlem sedan apr. 20003 174 inlägg
#8

..men om du använder name istället för id för att identifiera fälten måste du byta detta:

[red]if(elements[i].[b]id[/b].indexOf('labour')!=-1)[/red]

mot detta:

[red]if(elements[i].[b]name[/b].indexOf('labour')!=-1)[/red]

/r: Crap, to late.. ;)

 

250 ms totalt · 3 externa anrop · v20260731065814-full.30151723
129 ms — hämta forumlista (db)
118 ms — hämta statistik (db)
129 ms — hämta tråd, inlägg och bilagor (db)