andreas: function

Hallo

ich habe 3 Felder die ich mit einem Farbcode füllen möchte.

Ich habe die Farbcode in eine Funktion eingebunden.

function farbe()
{
<input type="radio" name="farbe" value="#99FF99">
<input type="radio" name="farbe" value="#FFFF00">
...
}

Für jedes Feld soll jeweils extra der Farbcode geöffnet werden,
sodas ich immer zu dem passenden Feld den Farbcode auswählen kann.
Klar alle auf einmal zu definieren ist mir auch in den Sinn gekommen,
aber da ich spääter verschiedene Seite habe und nur auf eine function zugreifen möchte.

Wenn ich zu Feld1 den Farbcode aufrufe,
möchte ich den ausgesuchten Farbwert:
<input type="radio" name="farbe" value="#99FF99">
nur dem Feld1 zuweisen.

Zu Feld2 einen anderen Farbcode
...

Wie muß ich die Function aufrufen bzw. welche Werte muß ich übergeben

für eine detailierte Hilfe wäre ich sehr dankbar

Danke
Andreas

  1. Hi,

    übergib den Parameter wo (nämlich feld1 oder 2 oder 3)
    und dann hilft eine if-else anweisung
    bzw. switch
    BSP:

    function farbe($wo)
    {
     switch($wo) {
      case 1: echo "<input type="radio" name="farbe" value="#99FF99">"; break;

    case 2: echo "<input type="radio" name="farbe" value="#FFFF00">"; break;
       ...
     }
    }

    alles klar?

    ciao
    romy

    --
    DIE ROMY AUS L. AN DER P. SAGT DANKE UND AUF WIEDERSEHEN
    ->Alles ist gut wenn es aus Schokolade ist
    1. Hi,

      übergib den Parameter wo (nämlich feld1 oder 2 oder 3)
      und dann hilft eine if-else anweisung
      bzw. switch
      BSP:

      function farbe($wo)
      {
       switch($wo) {
        case 1: echo "<input type="radio" name="farbe" value="#99FF99">"; break;

      case 2: echo "<input type="radio" name="farbe" value="#FFFF00">"; break;
         ...
       }
      }

      Hallo
      In der function farbe()
      stehen alle Farben zur Verfügung, die man auswählen kann, jedes Feld hat die gleiche Auswahl.
      Durch den Radio-Button und action übergebe ich ja den ausgewählten Wert der später einem Feld zugeordet werden muß.

      Wie sage ich Ihm,
      das Variable $feld1 jetzt zur Verfügung steht
      (vieleicht so function farbe($feld1)
      und dies dann mit dem ausgewählten Inhalt
      z.B. Farbe = #FFFF00
      übergeben wird
      als $feld1 = #FFFF00

      vieleicht jetzt besser erklärt?

      Danke
      Andreas

      1. Hi,

        vieleicht jetzt besser erklärt?

        nicht wirklich

        ich versuchs mal: beispielhaft:
        feld1 hat 3 Farben zur Auswahl (durch Radiobuttions)

        ich klicke blau an und schick es weg

        danach ist mein Feld blau

        richtig?

        --
        DIE ROMY AUS L. AN DER P. SAGT DANKE UND AUF WIEDERSEHEN
        ->Alles ist gut wenn es aus Schokolade ist
        1. Hi,

          vieleicht jetzt besser erklärt?
          nicht wirklich

          ich versuchs mal: beispielhaft:
          feld1 hat 3 Farben zur Auswahl (durch Radiobuttions)

          ich klicke blau an und schick es weg

          danach ist mein Feld blau

          richtig?

          Hallo,

          Ja

          und wie geht das so schön einfach.
          Bitte bedenke, das auch andere Felder von anderen Seiten auf die gleiche Function zugreifen

          Danke
          Andreas

          1. Hi Andreas,

            ich versuchs mal: beispielhaft:
            feld1 hat 3 Farben zur Auswahl (durch Radiobuttions)

            ich klicke blau an und schick es weg

            danach ist mein Feld blau

            richtig?

            Ich würde keine Funktion nehmen!
            sondern so:

            ich nehme an du wilst die Style-Anweisung im Feld verändern bzw. bgcolor.

            1. das Feld hat die Eigenschaft bgcolor:<?$farbe?>
            2. die radiobuttons haben Name="farbe" und Value="#ff0000"
            3. die Form in denen sich die radios befinden schickt sich an sich selbst
            4. Du definierst am Anfang deiner Seite je nach PHP-Version
             $farbe = $HTTP_POST_VARS["farbe"] bzw. $farbe = $_POST["farbe"]

            Damit hast Du egal für welche Seite immer ein eindeutiges Ergebnis

            oder hab ich doch was falsch verstanden?

            ciao
            romy

            ich kann dir wahrscheinlich heute nicht mehr antworten, sorry

            --
            DIE ROMY AUS L. AN DER P. SAGT DANKE UND AUF WIEDERSEHEN
            ->Alles ist gut wenn es aus Schokolade ist
      2. Ich rate auch nochmal mit ;)

        In der function farbe()
        stehen alle Farben zur Verfügung, die man auswählen kann, jedes Feld hat die gleiche Auswahl.

        So?

        x.html
          <input type="radio" name="x" value="rot">
          <input type="radio" name="x" value="blau">

        y.html
          <input type="radio" name="y" value="rot">
          <input type="radio" name="y" value="blau">

        z.html
          <input type="radio" name="z" value="rot">
          <input type="radio" name="z" value="blau">

        ("rot" und "blau" nur beispielhaft statt "#ff7700")

        Du hast diese drei <input>-Gruppen in verschiedenen Webseiten, aber jede Gruppe soll die gleichen Werte zur Auswahl anbieten und Du möchtest jetzt das Wertangebot zentral speichern?

        Durch den Radio-Button und action übergebe ich ja den ausgewählten Wert der später einem Feld zugeordet werden muß.

        Mmh, oder doch nicht.. Wieso muß der ausgewählte Wert einem Feld zugeordnet werden?

        Wie sage ich Ihm,
        das Variable $feld1 jetzt zur Verfügung steht
        (vieleicht so function farbe($feld1)
        und dies dann mit dem ausgewählten Inhalt
        z.B. Farbe = #FFFF00
        übergeben wird
        als $feld1 = #FFFF00

        Woher kommt $feld1? Den Wert der <input>-Elemente erhälst Du im empfangenden Skript in $_POST[<input>-Name] (z.B. $_POST["x"]=>"rot").
        Oder möchtest Du den Wert des <input>-Elements in eine Variable schieben, das wäre dann '$feld1=$_POST["rot"]'.

        Gruß,
          soenk.e

  2. [..]

    für eine detailierte Hilfe wäre ich sehr dankbar

    Für eine verständlichere Beschreibung wäre das Forum sehr dankbar (detailiert war sie ja erfreulicherweise schon).

    Du hast drei <input>-Felder, die mit Werten gefüllt werden sollen? Welche Werte und auf welcher Grundlage soll die Wahl erfolgen?

    Gruß :)
      soenk.e

  3. Hallo,

    ich hab Dir mal per eMail ein Beispiel geschickt. Lad die Dateien alle in ein Verzeichnis auf Deinen PHP-Server. Sie sind für UNIX/LINUX formatiert und weil es nur ein Beispiel ist, nicht für die Verwendung auf auch Windows-Systemen konzipiert (Zeilenumbruch in den *.attrib-Dateien).

    Sind zwar nur 2,9kb aber hier wollte ich sie nicht posten.

    Startscript ist dialog_color.php
    Über drei Single-Select-Boxen kannst Du die gewünschte Farbe mischen. Per JavaScript wird diese dann in einem Vorschaufeld angezeigt.
    Wenn Du auf Reset drückst, wird der Wert, der dem Script beim Start übergeben wurde, wieder eingestellt und auch im Vorschaufeld wieder angezeigt.
    Wenn Du auf "Übernehmen" clickt, wird die gewählte Farbe an ein Testscript (hier dialog_color.testausgabe.php) gesendet. Das zeigt Dir die Farbwerte nochmals als Array-Dump an und stellt sie dann in entsprechenden Feldern einzeln und gemischt dar.

    Was man aus dieser Musterlösung sehen kann:

    1. Wie kommen die aktuellen Farben in den Wähler
    2. wie kann man sie per PHP an Select-Boxen übergeben
    3. wie kann man das selected für die aktuelle Farbe berechnen
    4. wie kann man die Auswahlwerte für Die selectboxen bestimmen (*.attrib)
    5. wie kann man per JavaScript eine Vorschau erzeugen
    5. wie kann man per JavaScript dafür sorgen, dass nach dem Drücken des Reset-Buttons auch wieder die richtige Farbe in der Vorschau angezeigt wird
    6. wie kommunizieren zwei verschieden Scripte miteinander
    7. wie würde für eine harmonisierung der Variablennamen zwischen
      a. Auswahlscript
      b. eigentlichem Zielscript
      d. Nachschlagedateien (*.attrib)

    gesorgt.
    8. Wie schreibt man eine Funktion für die Anzeige von Form-Elementen (Dialogobjekte), die später nur noch mit einer Zeile in ein PHP-Script eingebunden werden muss, und dann den ganzen HTML-Code selbständig erzeugt.

    Ich denke, das sollte Dir für eine Woche mindestens reichen. Und Verbesserungsmöglichkeiten stecken da auch noch genug drin:

    1. Farbwerte universell mit 3 oder 6 Stellen verarbeiten (#FFF oder #FFFFFF)
    2. Unabhängigkeit von CRLF, CR, LF
    3. Farbwähler in einem Popup, das automatisch weiß, an welches Script es das Ergebnis zurücksenden soll.
    ...

    Liebe Grüße aus http://www.braunschweig.de

    Tom

    --
    Intelligenz ist die Fähigkeit, aus Fehlern Anderer zu lernen und Mut die, eigene zu machen.