Seite 1 von 1

Nach Ajax fehlen Formularfelder?

Verfasst: 17.05.2007, 16:34
von wuschba
Hi. Ich habe folgendes Html-Doc:

Code: Alles auswählen

<form>
	<input type="text" name="t1">
	<input type="text" name="t2">
	<input type="hidden" name="t3">
	<div id="reload">
		<a href="Javascript&#58;Reload&#40;&#41;;">Div neu laden</a>
	</div>
	<input type="hidden" name="t4">
</form>
Ich kann per JavaScript natürlich auf alle Felder mittels z.B. document.forms[0].elements["t4"].value zugreifen.

Nun lade ich das div "reload" mittels Ajax neu und setzte das InnerHTML von reload mit dem Ergebnis. Das funktioniert auch, nur leider "verschwindet" nun das Hidden-Field T4! Im Firebug steht plötzlich "undefined" dort, und wenn ich versuche per JavaScript mittels document.forms[0].elements["t4"].value darauf zuzugreifen, erhalte ich den Fehler "document.forms.formName.elements.t4 has no properties".

Das Ganze wird noch abstruser, denn mit:

Code: Alles auswählen

<form>
	<input type="text" name="t1">
	<input type="text" name="t2">
	<input type="hidden" name="t3">
	<input type="hidden" name="t4">
	<div id="reload">
		<a href="Javascript&#58;Reload&#40;&#41;;">Div neu laden</a>
	</div>	
</form>
geht es. Hat dafür jemand ne Erklärung? Habe das Problem im FF und im IE.

Verfasst:
von
SEO Consulting bei ABAKUS Internet Marketing
Erfahrung seit 2002
  • persönliche Betreuung
  • individuelle Beratung
  • kompetente Umsetzung

Jetzt anfragen: 0511 / 300325-0.


Verfasst: 17.05.2007, 16:41
von seikodäd
'name' ist veraltet. du solltest stattdessen mit 'id' arbeiten (dom). dann schreibste dir eine funktion wie die hier:

function $(elementId) {
return document.getElementById(elementId);
}

... und kannst dann auf jedes element in deinem html-document via $("myId") zugreifen

ps: document.forms[0].elements["t4"] ist keine gültige syntax, da es keine assoziativen arrays unter js gibt.