dynamisches Einfügen von Objekten in ein Array
Erik
- javascript
Hallo,
ich habe folgendes Problem. Mit Hilfe von ASP Script baue ich eine dynamische Anzahl von Eingabefeldern auf. Dabei unterscheiden sich die Felder dadruch, dass der Name sich jeweils vom Vorgänger durch ein zusätzliches I unterscheidet, alos NameI, NameII, NameIII usw.
Mit Hilfe von Javascript möchte ich nun die Eingabe für diese Felder überprüfen. Die Anzahl der Felder habe ich in einem Feld Names Zaehler.
function checkformular()
{
myArray new Array(documents.forms[0].Zaehler.value)
for ( var i = 1; i < documents.forms[0].Zaehler.value; i++){}
myArray[i] = new Array(document.forms[0].ZeileI.value,
document.forms[0].ZeileI.value, document.forms[
[0].ZeileII.value, document.forms[0].ZeileIII.value)
for ( var i = 1; i < document.forms[0].Zaehler.value ; i++){
if ((myArray[i] != "") && (myArray[i] != "Tach auch")) {
suche = /\d\d.\d\d.\d\d\d\d/;
if (!(suche.test(myArray[i]))) {
alert("Datum im Format dd.mm.jjjj angeben!");
return false;}
if (CheckDate(myArray[i]) == false) {
alert("Datum im Format dd.mm.jjjj angeben!");
return false;}
}
}
return true; }
Meine Frage ist nun, wie kann ich das Array (Zeile 5 -7) dynamich mit der meinen Objeketen Füllen???
Danke
Erik
Hallo Erik,
ein Doppelposting war nicht nötig, deine Frage wurde gelesen. Ganz verstehe ich dein Script zwar nicht aber ein Fehler fällt ins Auge:
myArray new Array(documents.forms[0].Zaehler.value)
^
hier fehlt ein Gleichheitszeichen
richtig: myArray = new Array(documents.forms[0].Zaehler.value)
vielleicht liegt das schon daran.
Viele Grüße
Antje
Hallo Erik!
Deine Frage wird auch dann nicht besser beantwortet werden, wenn Du sie 10 mal stellst, also lass doch bitte das Wiederholungsposten.
ich habe folgendes Problem. Mit Hilfe von ASP Script baue ich eine dynamische Anzahl von Eingabefeldern auf. Dabei unterscheiden sich die Felder dadruch, dass der Name sich jeweils vom Vorgänger durch ein zusätzliches I unterscheidet, alos NameI, NameII, NameIII usw.
Dein angegebener Code ist mir ziemlich unverstaendlich. Ich schreibe einfach mal selbst eine Moeglichkeit auf.
var input_fields;
function CheckForm() {
var f, i, element;
f = document.forms[0]; // Form-Objekt fuer einfacheren Zugriff
/* relevante Text-Objekte in eigenes Array */
input_fields = []; // Inhalte loeschen
for (i in f.elements) { // Alle elements durchlaufen
element = f.elements[i];
if (element.name.search(/^NameI+/) != -1) // wenn Name dem Muster entspricht
input_fields[input_fields.length] = element; // Objekt speichern
}
/* die ausgesuchten Objekte testen */
for (i in input_fields) {
element = input_fields[i];
if (element.value.search(/\d\d.\d\d.\d\d\d\d//) == -1) {
alert("Datum im Element '" + element.name + "' im Format dd.mm.jjjj angeben!");
element.focus();
return false;
}
}
return true;
}
Code ungetestet. Relevante Dokumentation:
Form.elements Array
http://developer.netscape.com/docs/manuals/js/client/jsref/form.htm#1193375
for..in Statement
http://developer.netscape.com/docs/manuals/js/client/jsref/stmt.htm#1004815
String.search() Methode
http://developer.netscape.com/docs/manuals/js/client/jsref/string.htm#1194332
Text.focus() Methode
http://developer.netscape.com/docs/manuals/js/client/jsref/text.htm#1194080
Standard-Literatur-Empfehlungen:
http://developer.netscape.com/docs/manuals/js/client/jsref/index.htm
http://developer.netscape.com/docs/manuals/js/client/jsguide/index.htm
Downloadbar auf:
http://developer.netscape.com/docs/manuals/javascript.html
Mit Hilfe von Javascript möchte ich nun die Eingabe für diese Felder überprüfen. Die Anzahl der Felder habe ich in einem Feld Names Zaehler.
Wenn Du Dich an Deine Namenskonvention haeltst, brauchst Du den Zaehler nicht mehr.
So lange, Calocybe