NetPanther: durch Auswahl in Dropdown Daten in Felder laden

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

  1. 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

    1. 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

      1. hi,

        danke, aber es funktioniert noch immer nicht. Jetzt gibt es folgende Fehlermeldung:
        'document.formular.designs' ist Null oder kein Objekt

        gruss,
        wahsaga

        1. Guten Abend,

          • heisst dein formular auch wirklich "formular"?

          ja, jetzt schon. :)

          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

          1. 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

            1. 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