webForumDet fria alternativet

Sätta ett formulär dynamiskt?

6 svar · 427 visningar · startad av inspiro

inspiroMedlem sedan sep. 2005673 inlägg
#1

Jag har ett gäng textareor:

document.form.Text1.value;
document.form.Text2.value;
osv

Jag vill nu skriva ut texten från en av dessa areor beroende på vilken av dem som anropar funktionen:

function minfunktion(id) {
  var AreaID = id.name;
  var FieldText = document.form.[b]AreaID[/b].value; -> dynamiskt???????
  
  alert(FieldText);
}
@ndersMedlem sedan juni 200032 969 inlägg
#2
var FieldText = document.form[AreaID].value;

(under förutsättning att formuläret heter form förstås.)

inspiroMedlem sedan sep. 2005673 inlägg
#3

Jag försöker så här men det fungerar inte:

document.getElementByName(AreaID).value;

Kan inte hitta arean alls ens om jag skriver in id manuellt, får felet "object doesent support this property or method"

inspiroMedlem sedan sep. 2005673 inlägg
#4

Tack! :) Men varför fungerar inte getElementByName för mig, någon som förstår felmeddelandet?

Fredde MannenMedlem sedan nov. 20014 054 inlägg
#5

inspiro skrev:

Tack! :) Men varför fungerar inte getElementByName för mig, någon som förstår felmeddelandet?

getElementByName kan inte använda value.

i sådana fall hade det blivit document.getElementByName(AreaID).innerHTML eller innerTEXT.

nitro2k01Medlem sedan aug. 20039 342 inlägg
#6

Fredde Mannen skrev:

getElementByName kan inte använda value.

i sådana fall hade det blivit document.getElementByName(AreaID).innerHTML eller innerTEXT.

Ta bort nattmössan från ansiktet! Något som kallas document.getElementByName finns inte. Det finns däremot en document.getElementsByName. Precis som namnet antyder returnerar den flera element. Detta i kontrast mot document.getElementById, som bara returnerar ett. Skillnaden ligger i att flera element får ha samma name, men inte samma id. Om du vet säkert att du bara har ett element med ett visst name kan du göra såhär:

document.getElementsByName("namnet")[0].value

document.getElementsByName returnerar elementen i form av en array, och koden ovan plockar ut det första elementet från arrayen. (Och räkningen börjar på 0)

Fredde MannenMedlem sedan nov. 20014 054 inlägg
#7

:r (jag sover inte med nattmössa, men med mycket långt hår som skall klippas idag!)

Mitt misstag! Dunkar in det i huvudet med lagboken!

Men jag blandar väl ihop det med: http://msdn.microsoft.com/library/default.asp?url=/workshop/author/dhtml/reference/methods/getelementbyid.asp

131 ms totalt · 3 externa anrop · v20260731065814-full.fb544a5a
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)