Jerinca
Erfahrenes Mitglied
Hallo!
Ich möchte in einer JavaScript-Funktion bestimmte Felder/Steuerelemente ansprechen bzw. bearbeiten. Normalerweise funktioniert das ja so: document.formlarname.feldname.[eigenschaft]
Die Felder, die ich ansprechen will, haben aber unterschiedliche Namen bestehend aus einem Teil, der gleich bleibt, und einer individuellen Nummer, die datensatzspezifisch ist (Primärschlüssel). Das könnt Ihr im Code unten sehen.
Das Auslesen dieser Nummer ist gar kein Problem, weil ich sie beim Funktionsaufruf einfach übergeben kann.
Mein Problem ist aber, daß es z.B. das Feld document.form2.erledigt nicht gibt, denn es heißt z.B. document.form2.erledigt11111!
Beim alert bekomme ich nur "undefined11111" angezeigt und ich weiß auch, warum: Weil document.form2.erledigt+RepID interpretiert wird als etwas Unbekanntes plus die RepID, die er ja kennt und deshalb korrekt ausgibt.
Meine Frage nun: Wie schaffe ich es, daß erledigt+RepID als Name des Feldes anerkannt wird? Denn das gibt es ja dann!
Ich habe es mit Anführungsstrichen versucht à la: "document.form2.erledigt"+RepID, dann wird es zwar im alert richtig ausgegeben, aber später nicht mehr als Steuerelement erkannt, sondern nur als Text => es ist keine Bearbeitung mehr möglich!
Mit Klammern à la: document.form2.(erledigt+RepID) geht es auch nicht!
Ich hoffe, jemand versteht, was ich meine, und kann mir helfen :suspekt:
Ich möchte in einer JavaScript-Funktion bestimmte Felder/Steuerelemente ansprechen bzw. bearbeiten. Normalerweise funktioniert das ja so: document.formlarname.feldname.[eigenschaft]
Die Felder, die ich ansprechen will, haben aber unterschiedliche Namen bestehend aus einem Teil, der gleich bleibt, und einer individuellen Nummer, die datensatzspezifisch ist (Primärschlüssel). Das könnt Ihr im Code unten sehen.
Das Auslesen dieser Nummer ist gar kein Problem, weil ich sie beim Funktionsaufruf einfach übergeben kann.
Mein Problem ist aber, daß es z.B. das Feld document.form2.erledigt nicht gibt, denn es heißt z.B. document.form2.erledigt11111!
Code:
Funktionsaufruf im HTML-Teil:
<% var intRep =(Recordset.Fields.Item("RE_LfdNummer").Value);
// jeweiligen Primärschlüssel in einer Variable packen %>
<input <%=((Recordset.Fields.Item("RE_Erledigt").Value == true)?"CHECKED":"")%>
type="checkbox" name="erledigt<%= intRep %>"
value="<%=(Recordset.Fields.Item("RE_Erledigt").Value)%>"
onClick="datum_setzen(event,'<%= intRep %>')">
Funktion:
<script language="JavaScript">
function datum_setzen(e,RepID) {
var kontrollkaestchen = document.form2.erledigt+RepID;
var datumsfeld = document.form2.datum+RepID;
alert("Kontrollkästchen = "+kontrollkaestchen+"\nDatumsfeld = "+datumsfeld);
/* hier soll dann die eigentliche Bearbeitung folgen */
}
</script>
Meine Frage nun: Wie schaffe ich es, daß erledigt+RepID als Name des Feldes anerkannt wird? Denn das gibt es ja dann!
Ich habe es mit Anführungsstrichen versucht à la: "document.form2.erledigt"+RepID, dann wird es zwar im alert richtig ausgegeben, aber später nicht mehr als Steuerelement erkannt, sondern nur als Text => es ist keine Bearbeitung mehr möglich!
Mit Klammern à la: document.form2.(erledigt+RepID) geht es auch nicht!
Ich hoffe, jemand versteht, was ich meine, und kann mir helfen :suspekt: