Calocybe: dynamisches Einfügen von Objekten in ein Array

Beitrag lesen

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