durch Auswahl in Dropdown Daten in Felder laden
NetPanther
- javascript
0 wahsaga0 NetPanther0 wahsaga0 NetPanther0 wahsaga
Guten Abend,
ich hätte da mal ein Problem. ;-) Meine Funktion LoadDesign funktionier leider irgendwie nicht.
Ich habe ein Dropdown und möchte dort ein Design auswählen, dessen Farben dann in Eingabefelder geladen werden sollen (die Hex-Codes: #FFFFFF,...).
Dann sollen sie noch in einer Vorschau angezeigt werden (die Farben).
Die Vorschau funktioniert bei manueller Eingabe, aber das mit dem Dropdown nicht. Kann sich mal jemand meinen Code ansehen und korrigieren?
LISTING 1:
<script type="text/javascript">
function PreviewColor(obj)
{
if (obj.value.match(/^#[a-fA-F0-9]{6}/))
document.getElementById("demo."+obj.id.split(".")[1]).style.color = document.getElementById(obj.id).value;
}
function LoadDesign()
{
if (document.formular.designs.value = "Standard") {
document.getElementById('demo.1').value ="#FFFFFF";
PreviewColor(farbe.1); }
document.getElementById('demo.2').value ="#FF00FF";
PreviewColor(farbe.2); }
...
}
</script>
LISTING 2:
<b>Fertiges Design verwenden</b>:
<br>
<select name="designs" onChange="LoadDesign()">
<option value="">bitte auswählen</option>
<option value="Standard">Standarddesign</option>
<option value="anderes">anderes Design</option>
</select>
<br>
<br>
<b>Hintergrundfarbe der Seite</b> (Standard: #6699FF):
<br>
<input type="text" name="color_hintergrund" id="farbe.1" onKeyup="PreviewColor(this)" size="10" maxlength="7" value="'. $aColors[1] .'" /> Vorschau: [<font color="' . $color_hintergrund . '" id="demo.1">ABC, abc, 123,...</font>]
Schon jetzt vielen Dank.
MfG
NetPanther
hi,
function LoadDesign()
{
if (document.formular.designs.value = "Standard") {
document.getElementById('demo.1').value ="#FFFFFF";
PreviewColor(farbe.1);
hier würde ich mal farbe.1 in anführungszeichen setzen:
PreviewColor("farbe.1");
gruss,
wahsaga
hi,
function LoadDesign()
{
if (document.formular.designs.value = "Standard") {
document.getElementById('demo.1').value ="#FFFFFF";
PreviewColor(farbe.1);
hier würde ich mal farbe.1 in anführungszeichen setzen:
PreviewColor("farbe.1");gruss,
wahsaga
Guten Tag,
danke, aber es funktioniert noch immer nicht. Jetzt gibt es folgende Fehlermeldung:
'document.formular.designs' ist Null oder kein Objekt
Hat dazu noch jemand Ideen?
MfG
NetPanther
hi,
danke, aber es funktioniert noch immer nicht. Jetzt gibt es folgende Fehlermeldung:
'document.formular.designs' ist Null oder kein Objekt
gruss,
wahsaga
Guten Abend,
- heisst dein formular auch wirklich "formular"?
ja, jetzt schon. :)
- du versuchst hier, über den namen eines select-feldes auf den selektierten wert zuzugreifen - das funktioniert so nicht. lies dir mal http://selfhtml.teamone.de/javascript/objekte/options.htm durch.
Danke, ich habe es mir mal angesehen und meinen Code so geändert:
LISTING 1:
<script type="text/javascript">
<!--
function PreviewColor(obj)
{
if (obj.value.match(/^#[a-fA-F0-9]{6}/))
document.getElementById("demo."+obj.id.split(".")[1]).style.color = document.getElementById(obj.id).value;
}
function LoadDesign()
{
for (i=0;i<document.formular.designs.length;++i)
if (document.formular.designs.options[i].selected == true) {
document.getElementById('demo.'+i).value = "#FFFFFF";
PreviewColor("farbe."+i); }
}
//-->
</script>
Jetzt meldet er jedoch:
"'value' ist Null oder kein Objekt"
Hm, was ist diesmal noch falsch? Ich habe schon ein wenig rumprobiert, aber den Fehler bekomme ich nicht weg.
MfG
NetPanther
hi,
document.getElementById('demo.'+i).value = "#FFFFFF";
Jetzt meldet er jedoch:
"'value' ist Null oder kein Objekt"
und deine options haben auch wirklich alle eine ID mit dem wert "demo0" etc. ?
gruss,
wahsaga
document.getElementById('demo.'+i).value = "#FFFFFF";
Jetzt meldet er jedoch:
"'value' ist Null oder kein Objekt"
und deine options haben auch wirklich alle eine ID mit dem wert "demo0" etc. ?
Guten Morgen,
wie gesagt, die IDs sehen alle so aus, wie die im Beispiel, dass ich ganz am Anfang gepostet hatte.
LISTING 1:
<b>Hintergrundfarbe der Seite</b> (Standard: #6699FF):
<br>
<input type="text" name="color_hintergrund" id="farbe.1" onKeyup="PreviewColor(this)" size="10" maxlength="7" value="'. $aColors[1] .'" /> Vorschau: [<font color="' . $color_hintergrund . '" id="demo.1">ABC, abc, 123,...</font>]
Die anderen Felder sehen entsprechend aus und sind mit einer fortlaufenden ID versehen.
MfG
NetPanther