Dennis Mende: Formularfelder hinzufügen

Beitrag lesen

Hi,

if(document.call.next_call.selectedIndex==0) {

Demnach gibt es in dem Formular mit name-Attributwert "call" ein select-Element mit name-Attributwert "next_call".

(die name-Attributwerte ergeben sich aus document.call.next_call, daß es ein select-Element ist aus selectedIndex).

document.call.getElementById('next_call')

Hier versuchst Du, ein Element mit der id-Attributwert "next_call" anzusprechen.

Du hast also ein Element mit dem id-Attributwert "next_call" und ein Element mit dem name-Attributwert "next_call".

Laut

getElementById('next_call') ist ein <span id="call_next"></span>
ist das ein anderes Element als das select-Element.

Zumindest im IE dürfte das ein Problem geben, da der bei getElementById auch auf name-Attributwerte guckt - die Eindeutigkeit der ID ist damit gefährdet.

Außerdem: getElementById ist m.W. nur für document definiert, nicht für node. document.call.getElementById("next_call") müßte m.E. deshalb ein "no such function" o.ä. als Fehler melden.

wo ein <select> drin ist, wenn welches eine bestimmte Option gewählt ist ausgetauscht werden soll, mit einem Textfeld.

inp.setAttribute("name","next_call",true);

Nachträgliches Setzen des name-Attributs mag der IE gar nicht: http://msdn2.microsoft.com/en-us/library/ms534184.aspx

cu,
Andreas

Hallo, Andreas. Erstmal vielen Dank für Deine antwort.

Das ersetzen von <select> durch ein <input type=text> Objekt funktioniert mittlerweile im IE, sowie in Mozilla. Der IE übergibt beim senden dieses Formulars (form: call) alle benötigten Felder auch das neue Feld an die nächste Seite.
Der Mozilla jedoch, ignoriert dieses neue Feld einfach, laut dem DOM Inspector, weisst Mozilla das Formular nicht dem Feld zu, oder umgekehrt. Da im DOM Inspector des <input name=call_next> unter <form> = (NULL) steht.

Man ist das kompliziert zu erklären, hoffe es ist begreiflich so...?!