webForumDet fria alternativet

Sätta ett formulär dynamiskt?

JavaScript

6 svar · 427 visningar · startad av inspiro

Medlem sedan sep. 2005673 inlägg
Frågan#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);
}
Medlem sedan juni 200032 967 inlägg
#2
var FieldText = document.form[AreaID].value;

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

Medlem 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"

Medlem sedan sep. 2005673 inlägg
#4

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

Medlem 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.

Medlem sedan aug. 20039 340 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)

Medlem 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

268 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
125 ms — deklarationer (db)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)
131 ms — ändringar (db)