Dynamische Objektbezeichner
Jerry Scott
- javascript
1 Struppi
Ein freundliches "Hallo" an alle hier.
Typischer Fall von "Brett vorm Kopf". Ich bin an meine Grenzen gestossen, komme einfach nicht weiter und benötige Hilfe.
Ich möchte für eine HTA-Anwendung Daten aus der Registry in ein Formular einlesen.
Die Daten liegen in der Registry wie folgt vor:
...\File0\Name="Datei..."
...\File1\Name="Datei..."
...\File2\Name="Datei..."
...
...\File9\Name="Datei..."
Die Objektbezeichner im Formular lauten:
Form.Name0.value
Form.Name1.value
Form.Name2.value
...
Form.Name9.value
Hier nun mein Script:
var wshShell = new ActiveXObject("WScript.Shell");
var REG_PATH = "HKCU\Software\...\File",
//*********************
function LoadSettings()
//*********************
{
var vt, i;
// Liest Dateinamen in den Dialog...
for (i=0; i<=9; i++){
try {
vt = wshShell.RegRead( REG_PATH + i + "\Name");
// Falls Schlüssel nicht vorhanden, anlegen...
} catch(error) {
if (vt == undefined) { wshShell.RegWrite( REG_PATH + i + "\Name", "", "REG_SZ");
// zum Aktualisieren Formularfeld erneut einlesen...
vt = wshShell.RegRead( REG_PATH + i + "\Name"); };
} finally {
// *** bis hierher funktioniert alles einwandfrei.
// *** nächste Zeile ist das Problem. Irgend was mache ich falsch!
// *** Objektbezeichner dynamisch erstellen will nicht klappen:
Form.Name(i).value = vt;
vt = undefined;
}
};
}
//*********************
// *** bis hierher funktioniert alles einwandfrei.
// *** nächste Zeile ist das Problem. Irgend was mache ich falsch!
// *** Objektbezeichner dynamisch erstellen will nicht klappen:Form.Name(i).value = vt;
so: Form.elements['Name' + i]
Struppi.
// *** bis hierher funktioniert alles einwandfrei.
// *** nächste Zeile ist das Problem. Irgend was mache ich falsch!
// *** Objektbezeichner dynamisch erstellen will nicht klappen:Form.Name(i).value = vt;
so: Form.elements['Name' + i]
Struppi.
Ganz herzlichen Dank Struppi
mit: Form.elements['Name' + i].value
hat's geklappt. Jetzt weiss ich wie man's macht :-)
Gruss
Jerry