hidden Input-Variabe ändern

Bernd1984

Kastenbrot
Hallo,

hab hier ein kleine Problem:
Ich möchte das value aus der ComboBox in die hidden Input-Variable aufgabeNr übertragen. Den Wert aus der ComboBox (this.value) ist nicht undefined, sondern hat den Wert aus der ausgewählten Option. Nur die Zuweisung funktioniert nicht.
Hab keine Ahnung warum. Vielleicht weiss es ja einer von euch.
Das Script war vorher für eine alte IE-Version geschrieben, aber mit document.all und das hat auch funktioniert, aber die benutzten Browser sind jetzt IE6 und Firefox 1.07

Code:
<HTML>
   	<HEAD>
   		<TITLE></TITLE>
   	</HEAD>
   	<BODY>
   		<FORM name="aufgabeData" id="aufgabeData" method="post" action="eingabe.jsp" target="main">
   			<input type="hidden" name="aufgabeNr">
   			<input type="hidden" name="aufgabeEnabled">
   			<table cellpadding="8" width="100%">
   				<tr>
   					<td align="center">
   						<select name="Gewaehlteaufgabe" size="1" class="select"
   							onchange="document.getElementsByName('aufgabeNr').value = this.value; document.getElementById('aufgabeData').submit(); setFrameSetSize('fsetTDW','rows','30,90,0,*,100')">
   							<option value="0">
   							<option value="1">Opt1
   							<option value="2">Opt2
   							<option value="3">Opt3
   							<option value="4">Opt4
   						</select>
   					</td>
   				</tr>
   			</table>
   		</FORM>
   	</BODY>
   </HTML>
 
Du hast bei der Protierung von document.all auf den DOM-konformen Standart einen Fehler gemacht:

Im Gegensatz zur Id ist eines HTML-Elements hat laut Standart der Name nicht unbedingt ein Unicum zu sein.
Soll heißen: Es darf also standartgemäß im Dokument zwar nur ein Element eine besinmmte Id haben, aber es können durchaus mehrere Elemente den gleichen Namen haben.

getElementById gibt also ein Ojekt zurück, wärend getElementsByName ein Array an Elementen zurück gibt (wie das "s" in document.getElementsByName im Gegensats zu getElementById impliziert). Du musst also in jedem Fall spezifizieren, welches der möglicherweise vielen Array-Elemente mit einem Namen "aufgabeNr" du genau meinst.

document.getElementsByName('aufgabeNr').value reicht nicht aus und muss eher document.getElementsByName('aufgabeNr')[0].value heißen. Die Null steht dabei für das erste der Array-Elemente, deren Zählung nunmal bei 0 beginnt.

Das könnte allerdings nicht der einzige Fehler sein. Wenn's dann immernoch nicht geht sobald du den einen berichtig hast, meld dich einfach nochmal und ich such nach Weiteren.
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück