Formularfeld für Text

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

  • Formularfeld für Text

    Hallo ich möchte in einem Formular einen bestimmten Text in ein Input Feld schreiben. Dies klappt über value wunderbar.

    Ich möchte aber, dass dieses Feld nicht vom User verändert werden kann.

    Bisher sieht die Zeile so aus:
    echo "<input type='text' name='edition' size='30' value='".$name."' tabindex='3'>";


    Ein zweites Problem ich möchte den Eintrag in diesem besagten Input Feld "anahl" von einer select Box abhängig machen.

    Kann ich dann denn Value Parameter des Input Feldes über den Event Handler steuern? Da habe ich keine Ahnung was ich machen muss.

  • #2
    Das HTML-Element input hat ein Property "disabled" - SelfHTML weiß bescheid.
    Und dort erfährst du auch, wie man onchange den document.form.input.value verändert.

    Kommentar


    • #3
      Danke

      Kommentar


      • #4
        So ganz habe ich es noch nicht.

        Ich habe mal nachstehend den Text hinein kopiert

        <form name="Formular" method="post" action="order.php" onSubmit="">
        <table border="0" cellspacing="1" width="450" class="MainBody">

        <tr>
        <td width='100'>Termin</td>
        <td width='300'>
        <?php
        $conn = db_connect();

        $result = mysql_query("select * from mtg_termine where bestelldatum > now() order by bestelldatum");
        $n = mysql_num_rows($result);

        echo "<select size='1' name='termin' tabindex='1' onchange='document.Formular.edition.value='>";

        while($row = mysql_fetch_assoc($result))
        {
        $value = $row['tid'];
        $name = $row['name'];
        echo "<option value='".$value."'>$name</option>";
        }
        echo "</select>";
        ?>
        </td>
        </tr>

        <tr>
        <td width='100'>Edition</td>
        <td width='300'>
        <?php
        $conn = db_connect();

        $result = mysql_query("select * from mtg_termine where bestelldatum > now() order by bestelldatum");
        $row = mysql_fetch_assoc($result);
        $name = $row['name'];
        echo "<input type='text' name='edition' size='30' value='".$name."' disabled>";
        ?>
        </td>
        </tr>

        <tr>
        <td width='100'>Anzahl</td>
        <td width='300'><input type='text' name='anzahl' size='30' tabindex='3'></td>
        </tr>

        <tr>
        <td width='100'></td>
        <td width='300'>
        <p align='left'><input type='submit' value='Bestellung abschicken' name='abschicken' tabindex='4'></td>
        </tr>

        </table>
        </form>

        Kommentar


        • #5
          Und was ist dein Problem...?

          Das ganze betrifft in erster Linie das reine HTML (mit JS). da hat etwas SERVERSEITIGES wie while-schleifen gar nichts zu suchen.

          Kommentar


          • #6
            Mein Problem ist die folgende Zeile:

            echo "<select size='1' name='termin' tabindex='1' onchange='document.Formular.edition.value=
            document.Formular.termin.value'>";

            Welchen Wert muss ich dem Input Feld (edition) zuweisen?

            In der Zeile, die ich oben geschrieben habe, erhalte ich nur den Value Wert des Select Feldes.

            Kommentar


            • #7
              Original geschrieben von elf7013
              Mein Problem ist die folgende Zeile:
              "echo irgendwas" ist immer noch serverseitiger Code - und der interessiert hier in so einem Falle niemanden.

              Nenne also wenn dann bitte den Code, der beim Client ankommt.
              Welchen Wert muss ich dem Input Feld (edition) zuweisen?

              In der Zeile, die ich oben geschrieben habe, erhalte ich nur den Value Wert des Select Feldes.
              Und welchen willst du stattdessen haben?
              I don't believe in rebirth. Actually, I never did in my whole lives.

              Kommentar


              • #8
                ich möchte den Wert des Select Feldes in das Inputfeld übertragen.

                Wert ist schlecht formuliert. Ich möchte den eigentlichen String übertragen der in dem Select Feld angezeigt wird.

                Kommentar


                • #9
                  Also nicht den value-Wert der Options, sondern den ihrer text-Eigenschaft?

                  Na gut, auch easy, ist bei SELFHTML ja ausreichend erklärt (selectedIndex zum finden der gewählten Option, und dann darüber Zugriff auf diese und ihren Text).
                  I don't believe in rebirth. Actually, I never did in my whole lives.

                  Kommentar


                  • #10
                    Ich finde dieses Problem nich so einfach gelöst, da der Inhalt des Select Feldes serverseitig festgelegt wird.

                    Ich müsste deshalb Zugriff auf den TEXT des Select Feldes haben, um diesen dann in das andere Feld zu schreiben.

                    Kommentar


                    • #11
                      Nein, serverseitig wird nur HTML/JS-Code generiert.
                      Erst der Browser interpretiert diesen als Selectbox mit Werten.

                      <select ...><option value="dahastduwas">...</option>....

                      Kommentar


                      • #12
                        Anmerkung zur Kenntnis genommen. Verstehe die Lösung aber immer noch nicht.

                        Kommentar


                        • #13
                          Ein zweites Problem ich möchte den Eintrag in diesem besagten Input Feld "anahl" von einer select Box abhängig machen.
                          Da könnte man sich auch ein wenig Aussagekräftiger fassen, oder? Denn die Frage wird ja erst dann klar, wenn man deinen Quellqode durchforstet - was übrigends nie eine angenehme Sache ist.

                          Egal... Lösungsansatz:
                          Du erstellst die Seite und verschickst sie mit der Startanzahl "0" an den Client. Dieser stellt dann seine Anzahl ein und sendet diese wieder an den Server (post/get Methode). Dort liest du diesen Wert aus und schickst ihm ggf. eine Antwortseite wo die neue Anzahl augelistet ist - fertig.

                          Den Javascript-Kram kannst du komplett streichen (document.xxx...).

                          PS: http://de.selfhtml.org/html/formular...ahl.htm#listen <- Auswahllisten!
                          Zuletzt geändert von Jesseblue; 07.06.2006, 13:19.

                          Kommentar


                          • #14
                            Original geschrieben von elf7013
                            Ich müsste deshalb Zugriff auf den TEXT des Select Feldes haben, um diesen dann in das andere Feld zu schreiben.
                            Und wie du genau den clientseitig zum Zeitpunkt der Auswahl einer Option bekommst, dazu habe ich dir doch eine Seite verlinkt.
                            I don't believe in rebirth. Actually, I never did in my whole lives.

                            Kommentar


                            • #15
                              Original geschrieben von wahsaga
                              Und wie du genau den clientseitig zum Zeitpunkt der Auswahl einer Option bekommst, dazu habe ich dir doch eine Seite verlinkt.

                              text
                              Speichert den angezeigten Text eines Eintrags in einer Auswahlliste.

                              Beispiel:
                              Anzeigebeispiel: So sieht's aus

                              <html><head><title>Test</title>
                              <script type="text/javascript">
                              function CheckAuswahl () {
                              if (document.Testform.Auswahl.selectedIndex == 2)
                              document.Testform.Auswahl.options[2].text = "Thomas Mann";
                              }
                              </script>
                              </head><body>
                              <form name="Testform" action="">
                              <select name="Auswahl" size="5" onchange="CheckAuswahl()">
                              <option>Goethe</option>
                              <option>Schiller</option>
                              <option>Guildo Horn</option>
                              <option>Homer</option>
                              <option>Fontane</option>
                              </select>
                              </form>
                              </body></html>

                              Erläuterung:
                              Das Beispiel enthält ein Formular mit einer Auswahlliste. Im einleitenden <select>-Tag ist der Event-Handler onchange notiert. Dadurch wird jedesmal, wenn der Anwender eine Auswahl in der Auswahlliste trifft, die Funktion CheckAuswahl() aufgerufen. Die Funktion überprüft, ob der Anwender etwa den Eintrag mit der Indexnummer 2 ausgewählt hat (Guildo Horn). Wenn ja, ändert die Funktion den angezeigten Text dieses Eintrags gemeinerweise auf "Thomas Mann". Die Auswahlmöglichkeit bleibt selektiert.

                              Beachten Sie:
                              Das Ändern der Objekteigenschaft text - so wie im obigen Beispiel - ist erst seit JavaScript 1.1 möglich (Netscape 3.x, Internet Explorer 4.x). Das Auslesen dagegen wie ausgezeichnet seit JavaScript 1.0. Auch im HTML-spezifischen DOM ist text als nur lesbar definiert.
                              Den Text habe ich auch aufmerksam gelesen. Wenn ich das aber richtig einschätze, müsste ich aber bei der IF Abfrage wissen, welcher Text oder Welchen Wert meine Select Box enthält. Diese Werte entnehme ich aber komplett der Datenbank.

                              Deshalb weiss ich nicht wie ich die Werte abfragen soll.
                              Zuletzt geändert von elf7013; 07.06.2006, 14:02.

                              Kommentar

                              Lädt...
                              X