problem js-var->php

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • problem js-var->php

    hallo,
    ich weiss, x-mal gefragt. ich habe auch alle einträge gelesen, stecke trotzdem nach stunden fest.

    ich suche eine farbe mit js, der farbwert steckt in der js-variablen "newcolor".

    -------------------------------
    <script type="text/Javascript">
    var newcolor;
    function OpenColorSelector()
    { newcolor = showModalDialog("def_farbe.php", "", "resizable:no; help:no; status:no; scroll:no; dialogWidth: 160px; dialogHeight: 500px"); }
    function ShowColor()
    { alert (newcolor); }
    </script>
    -------------------------------

    mit alert wird der wert korrekt angezeigt.

    die übergabe an show_color.php scheitert:
    -------------------------------
    <?php
    echo "<form name='formular' method='POST' action='show_color.php' target='_blank'>";
    echo "<input type='hidden' name='farbe'>";
    echo "<input type='submit' value='go'>";
    echo "</form>";
    ?>
    <script type="Javascript">
    <!--
    document.formular.farbe.value=newcolor;
    -->
    </script>
    -------------------------------

    was mache ich falsch, gruss, wolfgang

  • #2
    ich seh grad nirgendwo einen aufruf von OpenColorSelector

    daher dürfte newcolor immer leer sein

    p.s. jetzt isses ein cross-posting
    Ich denke, also bin ich. - Einige sind trotzdem...

    Kommentar


    • #3
      cross ist klar, hab' ja gerade gewechselt, ich hab' nur einen hut.

      der ablauf ist:
      1.) user ruft seite auf
      2.) link zum definieren einer farbe (color1.php)
      3.) color1.php wird geschlossen, farbe ist in "newcolor" enthalten

      prüfung durch alert ist erfolgreich.

      wenn der farb-wert in der alert-prüfung korrekt angegeben wird,
      weshalb nicht bei der überangabe an show_color.php.

      die form ist doch abgeschlossen?

      Kommentar


      • #4
        ist der link zu color1.php auf der gleichen seite wie das formular?

        muss er ja eigentlich

        dein javascript zum ändern von farbe.value wird nur einmal beim laden der seite ausgeführt und da wird in newcolor nix drinstehen

        mach's mal so wie Mello vorgeschlagen hat
        function opencolorselect()
        {
        dein bisheriger code
        alert(newcolor);
        document.formular.farbe.value=newcolor;
        alert(document.formular.farbe.value);
        }
        EDIT:
        hättest auch auf ein verschieben durch die mods warten können...
        Ich denke, also bin ich. - Einige sind trotzdem...

        Kommentar


        • #5
          @mrhappiness
          und siehe da, es klappt.

          blöde ist nur, dass ich die logik nicht nachvollziehen kann.

          ich könnte mich ja jetzt mit der lösung zufrieden geben, aber das ist ein bisschen wenig lerneffekt.

          weshalb hat "newcolor" bei aufruf des alert (nur zur kontrolle) einen wert
          und bei abschicken des formulares nicht?

          ich kann ja alert aufrufen, so oft ich will, immer ist der wert existent.

          bitte nicht noch eine verwarnung, ich kann sonst nacher nicht schlafen...

          Kommentar


          • #6
            <script type="Javascript">
            <!--
            document.formular.farbe.value=newcolor;
            -->
            </script>

            wenn der browser das liest, führt er es einfach aus und fertig (einmalig)

            er sieht das beim laden der seite, also bevor du auf den link zur farbauswahl klicken kannst

            ergo ist zu dem zeitpunkt die variable newcolor leer

            da dieses skript nicht nochmal aufgerufen wird, ändert sich auch nicht der wert der variablen newcolor

            du musst das updaten des feldes farbe immer dann machen, wenn sich der wert von newcolor ändert

            der wert von newcolor ändert sich innerhalb der funktion opencolorselector

            klarer?
            Ich denke, also bin ich. - Einige sind trotzdem...

            Kommentar


            • #7
              danke für die hingabe,

              jetz klar.

              die funktion ShowColor() wird ja explicit aufgerufen!

              besteht als kleiner dank vielleicht interesse an dem color-code?
              (tabelle mit 256 farben sowie dem maus-over-code)

              es muss ja nicht immer wieder jeder alles komplett eingeben.
              vielleicht schwirrt er ja auch irgendwo schon herum...

              wie auch immer, herzlichen dank!!!!

              Kommentar

              Lädt...
              X