document.formular. mit variablen wert?

penalizer

Mitglied
Hallo Forum! Langsam fängt Javascript echt an Spaß zu machen. Jedoch habe ich das Gefühl dass es mich nicht wirklich leiden kann... Meine Frage: Ich habe einen "Objektbezeichner" den ich gerne variabel gestalten möchte. her mal ein Beispiel:

HTML:
<script language="javascript">
var test;  
var inhalt;
 
function fuelle_hidden_input(bild){
test="bild_"+bild;  
inhalt="irgendetwas";
 
document.formular.test.value=inhalt; 
 
}
 
</script>
</head>
<body>
<form action="#" name="formular" method="post">
<input name="bild_a" type="hidden" value="">
<input name="bild_b" type="hidden" value="">
<input name="bild_c" type="hidden" value="">
</form>
<a onClick="javascript:fuelle_hidden_input('a');">Klick</a>

Wenn ich nun auf "Klick" klicke möchte ich das der hidden input "bild_a" den Wert "irgendetwas" erhält. Was ich jedoch bekomme ist ein Fehler:

document.formular.test ist NULL oder kein Objekt.

Was mache ich falsch? Wenn ich den Objektbezeichner so gestalte klappt es:
document.formular.bild_a.value=inhalt;

Für Denkanstösse wäre ich seeehr dankbar.

Gruß Pen
 
So ich mal wieder. Hab es selber hinbekommen.
Für alle die das selbe Problem haben würde ich auch empfehlen das Objekt über die ID anzusprechen. Anders scheint es nicht zu funktionieren. Also in meinem Fall so:

HTML:
<script language="javascript">
var test;  
var inhalt;

function fuelle_hidden_input(bild){
test="bild_"+bild;  
inhalt="irgendetwas";

document.getElementById(test).value=inhalt; 

}

</script>
</head>
<body>
<form action="#" name="formular" method="post">
<input id="bild_a" name="bild_a" type="hidden" value="">
<input id="bild_b"  name="bild_b" type="hidden" value="">
<input id="bild_c"  name="bild_c" type="hidden" value="">
</form>
<a onClick="javascript:fuelle_hidden_input('a');">Klick</a>

Bis balb... Gruß Pen
 
Hi,

Formularelemente kannst du auch über das Objekt elements ansprechen.
Code:
function fuelle_hidden_input(bild){
  test = "bild_"+bild;
  inhalt="irgendetwas";

  document.formular.elements[test].value=inhalt;
}
Ciao
Quaese
 

Neue Beiträge

Zurück