/ Forside / Teknologi / Udvikling / Java Scripts / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java Scripts
#NavnPoint
molokyle 5410
Klaudi 2799
smorch 2439
kim 1360
Harlekin 1134
bentjuul 984
gibson 800
severino 695
Random 675
10  konsulent.. 626
At finde input tags i en form via JavaScri~
Fra : Per Erik Gransøe


Dato : 15-03-03 21:22

Hej alle.

Jeg har en form på en side med nogle input tags. Nogle er af typen BUTTON,
andre af typen IMAGE. Jeg skal i en function finde samtlige input tags til
senere efterbehandling. Men følgende rutine finder ikke mine IMAGE type
input tags:

function scanFirstForm()
{
for(var i=0 ; i < document.forms[0].elements.length;i++)
{
var myElement = document.forms[0].elements[i];
alert('Element found: ' + myElement.id);
}
}

Er det mon fordi IMAGE typerne ikke influerer på svaret til webserveren ved
en submit af formen?..

Og - hvordan klarer jeg den sag?


Mvh,
Per



 
 
Lasse Reichstein Nie~ (16-03-2003)
Kommentar
Fra : Lasse Reichstein Nie~


Dato : 16-03-03 00:35

"Per Erik Gransøe" <per@dont.spam.gransoe.dk> writes:

> Hej alle.
>
> Jeg har en form på en side med nogle input tags. Nogle er af typen BUTTON,
> andre af typen IMAGE. Jeg skal i en function finde samtlige input tags til
> senere efterbehandling. Men følgende rutine finder ikke mine IMAGE type
> input tags:
>
> function scanFirstForm()
> {
> for(var i=0 ; i < document.forms[0].elements.length;i++)
> {
> var myElement = document.forms[0].elements[i];
> alert('Element found: ' + myElement.id);
> }
> }
>
> Er det mon fordi IMAGE typerne ikke influerer på svaret til webserveren ved
> en submit af formen?..

Det ved jeg faktisk ikke, men det lyder sandsynligt. Image-input-elementer
er jo submit-knapper.

> Og - hvordan klarer jeg den sag?

jeg ville bruge
document.getElementsByTagName("input")
til at få en samling af alle input-elementerne. Det er DOM og virker
kun i nyere browsere (det findes i hvert fald i Mozilla, Opera 7 og IE6,
jeg har ikke lige adgang til ældre IE'er).

Hvis det ikke er godt nok, så kan man genneløbe DOM-strukturen og
finde alle efterkommere der har tagName="input":

function findTag(elem,tag) {
tag = tag.toLowerCase();
var res=[];
if (elem.nodeType == 1) {
if (elem.tagName.toLowerCase() == tag) res[0]=elem;
for (var c=elem.firstChild;c!=null;c=c.nextSibling)
res=res.concat(findtag(c,tag));
}
return res;
}

Man kan så lave et array af alle input-elementer ved
findTag(document.body,"input");

/L
--
Lasse Reichstein Nielsen - lrn@hotpop.com
Art D'HTML: <URL:http://www.infimum.dk/HTML/randomArtSplit.html>
'Faith without judgement merely degrades the spirit divine.'

Jonas Koch Bentzen (16-03-2003)
Kommentar
Fra : Jonas Koch Bentzen


Dato : 16-03-03 11:12

Per Erik Gransøe wrote:
>
> Er det mon fordi IMAGE typerne ikke influerer på svaret til webserveren
> ved en submit af formen?..

Hvad mener du med det? Hvis du sætter name-attributten på en <input
type='image'.../>, vil billedets navn ryge med over. Dog vil værdien af
name-attributten få tilføjet et ".x" og et ".y", der fortæller hvor på
billedet, brugeren har klikket:

<input type='image' name='send'/>

...vil, når brugeren klikker på det, overføres sådan her til serveren:

send.x=45&send.y=23

--
Jonas Koch Bentzen

http://findhim.com/

Søg
Reklame
Statistik
Spørgsmål : 177501
Tips : 31968
Nyheder : 719565
Indlæg : 6408527
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste