traumkeks: Hidden-Feld mit Javascript überschreiben + über PHP anzeigen

Der inhalt eines versteckten feldes soll mittels

document.formular.feld.value="blabla"

überschrieben werden und über action="save.php" (da steht echo $feld drin) dann in der neugeladenen seite save.php angezeigt werden. Leider funktioniert das aber nicht wie gewünscht. Das heißt, ein bereits gesetzter inhalt wird weder angezeigt, noch ein "überschriebener" inhalt.

Bei einigem rumprobieren ist mir aufgefallen, daß z.B. der inhalt eines Textfeldes in der save.php angezeigt wird, aber ebenfalls nicht mittels der javascript-funktion überschrieben werden kann.

Der Inhalt eines Hidden-Feldes wird aber auch nicht angezeigt, wenn er bereits gesetzt wurde.

...für ´nen hilfreichen Tip wär ich überaus dankbar... :)

  1. Hallo,

    nachdem es normalerweise klappt, wäre es doch hilfreich noch etwas mehr Code zu haben. Ist die Seite irgendwo im Netz? Wie sieht die save.php komplett aus?

    Grüße aus Würzburg
    Julian

    1. ...mehr code kannst du gern haben, jede menge... :)

      also funktioniert hat´s folgendermassen:

      htm-datei:
      <html>
      <head>
      <title>Formulareingaben überprüfen</title>
      <script type="text/javascript">

      function chkFormular()
      {
         inhalt="blabla";

      document.Formular.SaveInhalt.value=inhalt;
        //document.write(document.Formular.SaveInhalt.value);
      }

      </script>
      </head>
      <body bgcolor="#EEEEEE" text="#000000">

      <h1>Formular</h1>

      <form name="Formular" action="../includes/save.php" method="post" onSubmit="return chkFormular()">
      <pre>
      Name:     <input type="hidden" size="40" name="SaveInhalt">
      Wohnort:  <input type="text" size="40" name="Ort">
      Formular: <input type="submit" value="Absenden"><input type="reset" value="Abbrechen">
      Zum Absenden muss eine Internetverbindung bestehen!
      </pre></form></body></html>

      save.php:

      <?php
      echo $SaveInhalt;
      echo $Ort;
      ?>

      Nicht funktionieren tut´s hier:

      php-datei:

      ...unter anderem...

      <script type="text/javascript">
      function chkFormular()
      {
        inhalt="blabla";

      document.Formular.SaveInhalt.value=inhalt;
        document.Formular.Ort.value=inhalt;
      }
      </script>

      ...in selber php-datei an anderer stelle:

      <form name="Formular" action="../includes/save.php" method="post" onSubmit="return chkFormular()">
      <pre>
      Name:     <input type="hidden" size="40" name="SaveInhalt">
      Wohnort:  <input type="text" size="40" name="Ort">
      Formular: <input type="submit" value="Absenden"><input type="reset" value="Abbrechen">
      Zum Absenden muss eine Internetverbindung bestehen!
      </pre></form>

      ...also hier wird SaveInhalt gar nicht angezeigt (ob´s geschrieben wird is unklar, weil wenn der value schon in der php-datei gesetzt wird, wird SaveInhalt in save.php trotzdem nicht angezeigt. Ort wird das ausgegeben was mein ins formular einträgt, überschrieben wirds auch nich.

      ...danke für die hilfe... :)

      Hallo,

      nachdem es normalerweise klappt, wäre es doch hilfreich noch etwas mehr Code zu haben. Ist die Seite irgendwo im Netz? Wie sieht die save.php komplett aus?

      Grüße aus Würzburg
      Julian

      1. Hi

        »»"return chkFormular()"

        Machs mal so:

        "chkFormular();return;"

        1. hi,

          bringt leider nix. Das text-feld wird angezeigt, aber nich überschrieben, und das hidden-feld wird gar nicht ausgegeben.

          Hi

          »»"return chkFormular()"

          Machs mal so:

          "chkFormular();return;"

          1. hi

            das HTML file:

            <html>
            <head>
            <title>Formulareingaben überprüfen</title>
            <script type="text/javascript">
            function chkFormular()
            {
            inhalt="blabla";
            document.Formular.SaveInhalt.value=inhalt;
            }
            </script>
            </head>
            <body bgcolor="#EEEEEE" text="#000000">
            <h1>Formular</h1>
            <form name="Formular" action="save.php" method="get" onSubmit="chkFormular()">
            <pre>
            Name:<input type="text" size="40" name="SaveInhalt">
            Wohnort:<input type="text" size="40" name="Ort">
            Formular:<input type="submit" value="Absenden"><input type="reset" value="Abbrechen">
            Zum Absenden muss eine Internetverbindung bestehen!
            </pre></form></body></html>

            Das PHP File:

            <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
            "http://www.w3.org/TR/html4/loose.dtd">
            <html>
            <head>
             <title>Untitled</title>
            </head>
            <body>

            <?php

            echo "$SaveInhalt <br/>
             $Ort";

            ?>

            </body>
            </html>

            Gruss Christoph

      2. Hallo.

        hab jetzt nicht 100% verstanden,w as Du schon probiert hast und was nicht, aber eine Idee hätte ich doch:

        Kann es sein, dass JavaScript für die Zuweisung eines Wertes auch eine Angabe des Wertes im Formular benötigt? D.h. ein (leerer) Value angegeben sein sollte.

        Name:     <input type="hidden" size="40" name="SaveInhalt" value="">

        Grüße aus Würzburg
        Julian

        1. nee, daran liegt´s glaub ich nich, das hab ich auch schon ausprobiert.

          gruß,
          anja

          Hallo.

          hab jetzt nicht 100% verstanden,w as Du schon probiert hast und was nicht, aber eine Idee hätte ich doch:

          Kann es sein, dass JavaScript für die Zuweisung eines Wertes auch eine Angabe des Wertes im Formular benötigt? D.h. ein (leerer) Value angegeben sein sollte.

          Name:     <input type="hidden" size="40" name="SaveInhalt" value="">

          Grüße aus Würzburg
          Julian

  2. hi

    schaut nach einem PHP config problem aus.

    Probier das hier in dein php doku einzusetzen.

    <?php while(list($key, $value) = each($HTTP_GET_VARS)) $$key = $value; ?>

    Und schreib obs jetzt klappt

    Gruss Christoph

    1. hi, danke für die hilfe, aber es klappt leider nich. :(

      (Hab´s sowohl in der save.php als auch in dem aufrufenden php probiert...)

      gruß,
      anja

      hi

      schaut nach einem PHP config problem aus.

      Probier das hier in dein php doku einzusetzen.

      <?php while(list($key, $value) = each($HTTP_GET_VARS)) $$key = $value; ?>

      Und schreib obs jetzt klappt

      Gruss Christoph