Du befindest Dich im Archiv vom ABAKUS Online Marketing Forum. Hier kannst Du Dich für das Forum mit den aktuellen Beiträgen registrieren.

Nach Ajax fehlen Formularfelder?

Ajax, Hijax, Microformats, RDF, Markup, HTML, PHP, CSS, MySQL, htaccess, robots.txt, CGI, Java, Javascript usw.
Neues Thema Antworten
wuschba
PostRank 8
PostRank 8
Beiträge: 655
Registriert: 16.06.2006, 16:37

Beitrag von wuschba » 17.05.2007, 16:34

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.

Anzeige von ABAKUS

von Anzeige von ABAKUS »

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

Jetzt anfragen: 0511 / 300325-0.


seikodäd
PostRank 4
PostRank 4
Beiträge: 165
Registriert: 21.02.2006, 22:37
Wohnort: Debuggingen

Beitrag von seikodäd » 17.05.2007, 16:41

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

Antworten
  • Vergleichbare Themen
    Antworten
    Zugriffe
    Letzter Beitrag