Peter Gerlesberger: document.write-Befehl

Hallo Forum'ler,

bitte helft mir hiermit:

ich möchte das mir folgender Aufruf eine dritte Variable an DRITTER Stelle übergibt (die brauche ich im darauffolgendem cgi-scriptgenau an der Stelle, sonst kriege ich das cgi nicht gebacken).

1.Stelle = punkte
2.Stelle= -eingetragener Name- User

3.Stelle= zuege

document.write("<form action="/cgi-bin/score.cgi?" + punkte + "&" + "" method=post>Geben Sie bitte Ihren Namen (max.10 Zeichen) ein: <input size=10 maxlength=10 name="User"><br><input type=submit value="Absenden"></form>");

Wie kann ich das einbauen?

Danke im Voraus
Peter G.

  1. Hi
    Wie waers mit einem hidden input? Ausserdem wuerde ich bei document.write einfache Anfuehrungszeichen verwenden, das ist viel uebersichtlicher.
    Also:
    document.write('<form action="/cgi-bin/score.cgi?' + punkte + '&" method=post>Geben Sie
    bitte Ihren Namen (max.10 Zeichen) ein: <input size=10 maxlength=10 name="User"><br><input
    type=submit value="Absenden"><input type="hidden" value=' + zuege + ' name="Zuege"></form>');  
    Tschau Holger

    1. Hallo Forum'ler

      bitte helft mir bei meinem Problem!

      mit diesem Befehl:

      document.write('<form action="/cgi-bin/score.cgi?' + punkte + '&" method=post>Geben Sie
      bitte Ihren Namen (max.10 Zeichen) ein: <input size=10 maxlength=10 name="User"><br><input
      type=submit value="Absenden"><input type="hidden" value=' + zuege + ' name="Zuege"></form>');

      möchte ich diesen Aufruf erzeugen:

      http://www.bayerwald-online.com/cgi-bin/score.cgi?13&Peter&17

      ,die erste Variable (Punkte) klappt noch, aber der eingetragene Name (in diesem Fall Peter) wird nicht angehängt.

      also sieht es bisher so aus:

      http://www.bayerwald-online.com/cgi-bin/score.cgi?13

      was mache ich falsch?

      Vielen Dank ans Forum
      Peter Gerlesberger

      1. Hallo Peter,

        document.write('<form action="/cgi-bin/score.cgi?' + punkte + '&" method=post>Geben Sie

        ^....(1)

        bitte Ihren Namen (max.10 Zeichen) ein: <input size=10 maxlength=10 name="User">

        ^.....(2)

        [...]<input type="hidden" value=' + zuege + ' name="Zuege"></form>');

        ^.....(2)

        möchte ich diesen Aufruf erzeugen:
        http://www.bayerwald-online.com/cgi-bin/score.cgi?13&Peter&17
        ,die erste Variable (Punkte) klappt noch, aber der eingetragene Name (in diesem Fall Peter) wird nicht angehängt.

        Schau Dir mal Deine "method" (1) an, und lies dann nochmal <../../tcha.htm#a2> durch. Schau Dir an, wie Daten mit der von Dir gewählten "method" verschickt werden ;-). Dort steht auch, welche Methode Du wählen musst, um Deinem Vorhaben näher zu kommen :-)
        Zudem werden, wenn Du Deinen Eingabefeldern Namen gibst (2) diese dem Wert bei der Übergabe vorangestellt. Aber das siehst Du dann schon in der Adresszeile ;-).
        Wieso übergibst Du "punkte" eingentlich nicht auch in einem versteckten Eingabefeld, wie es Holger schon vorgeschlagen hat? :-)

        Gruß AlexBausW

        Please visit my SELFvisitingcard @ http://www.atomic-eggs.com/selfspezial/daten/150.html

  2. Hallo Peter,

    ich möchte das mir folgender Aufruf eine dritte Variable an DRITTER Stelle übergibt (die brauche ich im darauffolgendem cgi-scriptgenau an der Stelle, sonst kriege ich das cgi nicht gebacken).

    Dann liegt Dein Problem imho nicht bei "document.write();", sondern dann hast Du ein Problem mit Deinem CGI-Skript, daß meiner Meinung nach dringender Überarbeitung bedarf ;-))
    In Perl wie PHP (afaik auch in anderen Sprachen) ist es kein großes Problem, die übermittelten Parameter in beliebiger Reihenfolge entgegenzunehmen. Poste doch hier mal die Parameterübernahme Deines CGI-Skripts. Vielleicht kann man das Problem an der Wurzel ausrotten ;-)

    Gruß AlexBausW

    Please visit my SELFvisitingcard @ http://www.atomic-eggs.com/selfspezial/daten/150.html

    1. Hallo AlexBausW,

      Poste doch hier mal die Parameterübernahme Deines CGI-Skripts. Vielleicht kann man das Problem an der Wurzel ausrotten ;-)

      open(HOST,"$score") or die "Fehler beim Öffnen von $score";
      $zaehler = 1;
      $getstring = <HOST>;
      $getstring = <HOST>;
      $cstime = <HOST>;
      while(1)
      {
              $search = "<!--".$zaehler."name-->\n";
              $getstring = <HOST>;
              if($getstring eq $search)
              {
                      $name[$zaehler] = <HOST>;
                      $getstring = <HOST>;
                      $getstring = <HOST>;
                      $punkte[$zaehler] = <HOST>;
                      $zaehler = $zaehler +1;
              }
              if ($zaehler == 11)
              {
                      last;
              }
      }
      close (HOST);

      Gruß
      Peter