variable als value
oli69
- javascript
Hallo,
habe ein kleines Problem und komme einfach nicht auf die Lösung.
Gegeben ist eine Eingabeform (dataset) mit etlichen input feldern die mit 1 beginnend durchnummeriert (aber dynamisch sind - also die Anzahl ist nicht fix -> cells) sind.
In einer Schleife will ich nun diese Werte auslesen:
for(c = 1; c <= cells; c++) alert(dataset.xxx.value);
Wie bekomme ich es hin das xxx durch c ersetzt wird????
Guten Abend.
for(c = 1; c <= cells; c++) alert(dataset.xxx.value);
Wie bekomme ich es hin das xxx durch c ersetzt wird????
dataset[c].value
Gute Nacht.
Guten Abend.
for(c = 1; c <= cells; c++) alert(dataset.xxx.value);
Wie bekomme ich es hin das xxx durch c ersetzt wird????dataset[c].value
Gute Nacht.
Funktioniert leider nicht - sowas hatte ich auch schon probiert allerdings als
dataset.[c].value
Ich glaube das Problem liegt woanders: Die Felder die ausgelesen werden sollen werden von einer function erstellt und dann in einem div mit document.getElementById('daten').innerHTML = ... eingefügt.
Hallo,
Ich glaube das Problem liegt woanders: Die Felder die ausgelesen werden sollen werden von einer function erstellt und dann in einem div mit document.getElementById('daten').innerHTML = ... eingefügt.
Das sollte kein Problem sein. Zeig mal bitte ein reduziertes Beispiel.
Zugriff auf Formularelemente geht so:
http://de.selfhtml.org/javascript/objekte/forms.htm
http://de.selfhtml.org/javascript/objekte/elements.htm
Beispiel:
<form id="myform">
<p>
<input type="text" name="foo" value="1">
<input type="text" name="bar" value="2">
<input type="text" name="qux" value="3">
</p>
</form>
var form = document.getElementById('myForm');
// Alternativ: var form = document.forms.myform; – kommt auf dasselbe heraus
var elements = form.elements;
for (var i = 0, l = elements.length; i < l; i++) {
var element = elements[i];
alert(element.name + ': ' + element.value);
}
Mathias
Hallo,
Ich glaube das Problem liegt woanders: Die Felder die ausgelesen werden sollen werden von einer function erstellt und dann in einem div mit document.getElementById('daten').innerHTML = ... eingefügt.
Das sollte kein Problem sein. Zeig mal bitte ein reduziertes Beispiel.
Zugriff auf Formularelemente geht so:
http://de.selfhtml.org/javascript/objekte/forms.htm
http://de.selfhtml.org/javascript/objekte/elements.htmBeispiel:
<form id="myform">
<p>
<input type="text" name="foo" value="1">
<input type="text" name="bar" value="2">
<input type="text" name="qux" value="3">
</p>
</form>
>
> ~~~javascript
var form = document.getElementById('myForm');
> // Alternativ: var form = document.forms.myform; – kommt auf dasselbe heraus
> var elements = form.elements;
> for (var i = 0, l = elements.length; i < l; i++) {
> var element = elements[i];
> alert(element.name + ': ' + element.value);
> }
Mathias
also die erste funktion erstellt es:
nr = laufende zellennummer
for(c = 1; c < dat.length; c++)
{
datx = dat[c].split('#');
aus += '<tr>';
for(x = 0; x < datx.length; x++)
{
aus += '<td><input name=' + nr + ' value="' + datx[x] + '"></td>';
nr++
}
aus += '</tr>';
}
... stark vereinfacht ... danach
document.getElementById('daten').innerHTML = '<table><form name='dataset' <tr><td colspan=100> <input value=Modellieren type=button onclick=fx()> </td> </tr> <tr>' + aus + '</form></table>';
so in etwa, hoffe habe jetzt keine tippfehler gemacht.
das anzeigen funktioniert auch in fx() wird auch aufgerufen...nur halt kein zugriff auf die daten.
Hi,
document.getElementById('daten').innerHTML = '<table><form name='dataset' <tr><td colspan=100> <input value=Modellieren type=button onclick=fx()> </td> </tr> <tr>' + aus + '</form></table>';
das produziert ungültiges HTML. Ein form-Element darf nicht Kind von table sein; es muss entweder die Tabelle vollständig umschließen oder vollständig innerhalb einer Zelle sein.
Ob das mit deinem aktuellen Problem zu tun hat, kann ich nicht sagen, aber ich will es nicht ausschließen. Kontrolliere mal (z.B. mit Firebug), wie das dadurch erzeugte DOM wirklich aussieht.
Ciao,
Martin
Hi,
document.getElementById('daten').innerHTML = '<table><form name='dataset' <tr><td colspan=100> <input value=Modellieren type=button onclick=fx()> </td> </tr> <tr>' + aus + '</form></table>';
das produziert ungültiges HTML. Ein form-Element darf nicht Kind von table sein; es muss entweder die Tabelle vollständig umschließen oder vollständig innerhalb einer Zelle sein.
Ob das mit deinem aktuellen Problem zu tun hat, kann ich nicht sagen, aber ich will es nicht ausschließen. Kontrolliere mal (z.B. mit Firebug), wie das dadurch erzeugte DOM wirklich aussieht.
Ciao,
Martin
Hallo Martin,
das habe ich schon probiert - allerdings verwende ich das so auch in vielen anderen Skripten die alle laufen.
Om nah hoo pez nyeetz, oli69!
Jetzt vergleichst du bitte mal deine Beiträge mit denen der anderen. Mit Sicherheit fällt dir dann auf, dass Vollzitate hier weder notwendig noch erwünscht sind. Bitte zitiere nur das, worauf du dich gerade beziehst. Danke.
Matthias
Hallo,
Okay. Und was ist nun deine Frage? Was willst du erreichen und was funktioniert nicht mit dem Code, den du hast?
nur halt kein zugriff auf die daten.
Warum nicht? Sorge dafür, dass die Variable mit den Daten an der gewünschten Stelle verüfgbar ist.
Mathias