Problem bei Firefox mit getElementById("")
Daniel0310
- javascript
Hallo
meine Tabelle sieht so ungefähr aus
Überschrifen
1 ______ ________ _______ Abschicken
2 ABC DEFG HIJK Abschicken
wenn ich jetzt in die erste Zeile Daten eintrage und auf abschicken drücke wird folgendes Script aufgerufen:
function updateRow(id)
{
var x = document.getElementById(id).innerHTML;
alert(x);
}
Die Zeile wird mir zwar als HMTL ausgegeben allerdings ohne die Werte die ich in die Felder eingetragen habe. Wenn ich das gleich mit der zweiten Zeile mache wird mir genau die zweite Zeile wiedergegen auch wenn ich Änderungen in ihr vorgenommen habe. Woran liegt das und wie kann ich dieses Problem beheben??
MFG Daniel
hi,
Überschrifen
1 ______ ________ _______ Abschicken
2 ABC DEFG HIJK Abschickenwenn ich jetzt in die erste Zeile Daten eintrage und auf abschicken drücke
OK, das sollen also Input-Felder sein in der ersten Zeile?
Warum beschreibst du das dann nicht auch so, sondern lässt uns raten?
var x = document.getElementById(id).innerHTML;
alert(x);Die Zeile wird mir zwar als HMTL ausgegeben allerdings ohne die Werte die ich in die Felder eingetragen habe.
Natürlich, warum sollten die auch dort erscheinen? Stehen die jetzt etwa _im_ HTML-Code? Nö.
Wenn ich das gleich mit der zweiten Zeile mache wird mir genau die zweite Zeile wiedergegen auch wenn ich Änderungen in ihr vorgenommen habe.
Also sind dort mit ABC etc. _ebenfalls_ Inputfelder gemeint?
Woran liegt das und wie kann ich dieses Problem beheben??
In dem du erst mal eine vernünftige, nachvollziehbare Problembeschreibung verfasst - deine lässt stark zu wünschen übrig.
</hilfe/charta.htm#tipps-fuer-fragende>
Und wo der Zusammenhang mit getElementById sein soll, weisst vermutlich auch (höchstens) du.
gruß,
wahsaga
Ok neuer Versuch!
Das ist das Scipt mit dem die Seite generiert wird:
function BuildTable(stundenid, day, dayBefore, packet,
projectnr, hours, text){
var html = "";
html +="<table id='table' border='0' cellpadding='0' cellspacing='2'>"
+ "<tr>"
+ "<td></td>"
+ "<th>Tag</th>"
+ "<th>Packet</th>"
+ "<th>ProjektNr</th>"
+ "<th>Stunden</th>"
+ "<th>Text</th>"
+ "</tr>"
+ "<tr id=" + stundenid +">"
+ "<td><select name='tag' onchange='validate("+ stundenid + ")'>"
+ BuildDayOptions(dayOptions, day)
+ "</select>"
+ "<td><input name='packet' type='text' value='"
+ packet +"' onchange='validate("+ stundenid + ")'></td>"
+ "<td><select name='projektnr' onchange='validate("
+ stundenid + ")' disabled>"
+ buildProjectOptions(projectOptions, projectnr, projectOptionsDescriptions)
+ "</select></td>"
+ "<td><input name='stunden' type='text' value='"
+ hours +"' onchange='validate("+ stundenid + ")'></td>"
+ "<td><input name='text' type='text' value='"
+ text +"' onchange='validate("+ stundenid + ")'></td>"
+ "<td><input type='button' name='submit' value='abschicken'"
+ " onclick='updateRow("+ stundenid + ")' disabled></td>"
+ "</tr>"
;
return html;
}
function updateRow(id)
{
var x = document.getElementById(id).innerHTML;
alert(x);
}
Wenn die Seite generiert wurde sollen die Werte in den Feldern verändert werden und durch den Button abschicken soll eine neue Zeile mit den Werten aus der geänderten Zeile generiert werden. Allerdings ließt Firefox die Werte nicht aus. D.h. die values bleiben in dem ursprünglichen Zustand. Im IE ist dies jedoch kein Problem!
hi,
Wenn die Seite generiert wurde sollen die Werte in den Feldern verändert werden und durch den Button abschicken soll eine neue Zeile mit den Werten aus der geänderten Zeile generiert werden. Allerdings ließt Firefox die Werte nicht aus. D.h. die values bleiben in dem ursprünglichen Zustand.
Wie schon gesagt, ich sehe auch keinen Grund, warum sich das in der innerHTML-Eigenschaft niederschlagen sollte. _Im HTML_ stehen immer noch die Default-Values.
Im IE ist dies jedoch kein Problem!
Schön für den IE.
Wenn du die aktuellen Werte im Firefox haben willst, dann hole sie dir über das value-Attribut der jeweligen Formularfelder.
gruß,
wahsaga