Stefanie: value im form abprüfen

<input type='text' name='Strasse' value='Strasse' onFocus="if(this.value == 'Strasse'){ this.value=''};" size='21' maxlength='50' style='width: 220px; COLOR : #333333; FONT-FAMILY : Verdana,Arial; FONT-SIZE : 10px;'>

So lautet der HTML Code meines Forms.
Ich möchte nun in dem Perl Script, welches dieses Form verarbeitet, eine routine einbauen, die nicht nur prüft, ob der required Wert vorhanden ist (Das tuts schon), funktioniert allerdings in meinem Fall ja nicht, da ich dem required feld über value einen Wert zugewiesen habe. Das Skript denkt ja nun ein Eintrag sei erfolgt, ist aber ja gar nicht!!
Ich möchte quasi verhindern das das Skript diesen Wert akzeptiert, will sagen: Der required-Wert muss ungleich dem Value sein, damit man das Form abschicken kann.
Ich hoffe jemand versteht was ich meine?!?
Vielen Dank für die Hilfe!!!!
Steffi :-)

  1. Hallo Steffi!

    Ich möchte nun in dem Perl Script, welches dieses Form verarbeitet, eine routine einbauen, die nicht nur prüft, ob der required Wert vorhanden ist (Das tuts schon), funktioniert allerdings in meinem Fall ja nicht, da ich dem required feld über value einen Wert zugewiesen habe. Das Skript denkt ja nun ein Eintrag sei erfolgt, ist aber ja gar nicht!!
    Ich möchte quasi verhindern das das Skript diesen Wert akzeptiert, will sagen: Der required-Wert muss ungleich dem Value sein, damit man das Form abschicken kann.

    Erstmal gilt es, das Formularfeld auszulesen. Das geht am besten mit param() aus dem CGI-Modul:

    use CGI qw(param);

    my $strasse = param('Strasse');

    Anschließend prüfest du ganz einfach, ob der Skalar $strasse nicht den Wert "Strasse" besitzt:

    if($strasse ne "Strasse")
    {
     # mach was!
    }

    War es das, was du wolltest?

    Viele Grüße
      Patrick Canterino

    1. Hallo Patrick!
      Danke für deine ANtwort!

      Ich möchte den check required ungleich value in meinem perlskript durchführen. Wenn required=value soll eine Fehler Seite erzeugt werden. Das passiert ohnehin schon bei leerem inputfeld. Jetzt soll es auch passieren, wenn der value nicht durch einen Neueintrag geändert wurde.

      Steffi

      Hallo Steffi!

      Ich möchte nun in dem Perl Script, welches dieses Form verarbeitet, eine routine einbauen, die nicht nur prüft, ob der required Wert vorhanden ist (Das tuts schon), funktioniert allerdings in meinem Fall ja nicht, da ich dem required feld über value einen Wert zugewiesen habe. Das Skript denkt ja nun ein Eintrag sei erfolgt, ist aber ja gar nicht!!
      Ich möchte quasi verhindern das das Skript diesen Wert akzeptiert, will sagen: Der required-Wert muss ungleich dem Value sein, damit man das Form abschicken kann.

      Erstmal gilt es, das Formularfeld auszulesen. Das geht am besten mit param() aus dem CGI-Modul:

      use CGI qw(param);

      my $strasse = param('Strasse');

      Anschließend prüfest du ganz einfach, ob der Skalar $strasse nicht den Wert "Strasse" besitzt:

      if($strasse ne "Strasse")
      {
       # mach was!
      }

      War es das, was du wolltest?

      Viele Grüße
        Patrick Canterino

  2. Hi Stefani

    »»will sagen: Der required-Wert muss ungleich dem Value sein, damit man das Form abschicken kann.

    Ich hoffe jemand versteht was ich meine?!?

    Mit perl kannst du das Formular nicht prüfen. Perl laüft auf dem Server. Und damit die Formulardaten von einem Perl-Script geprüft werden können, muß das Formular erst einmal auf dem Server "landen", also abgeschickt worden sein.

    Also ist mit Perl an dieser Stelle nichts zu machen. Eventuell mit JavaScript. Aber denk' dran, das kann auch abgeschaltet sein.
    Das Beste wäre, das Formular wird so oder so abgeschickt, auf dem Server z.B. durch ein Perl-Script geprüft und dann entsprechend reagiert. Z.B. kannst du das Formular ja wieder (eventuell mit enstpr. Fehlermeldungen) wieder "zurück schicken"

    Bye
    Timothy

    --
    Zwei Dinge im Leben kannst du nicht zurück holen. Den Pfeil, den du verschossen. Und das Wort, das du gesprochen.
    (alte indianische Weisheit)
    1. Danke für die Hilfe..
      Ok, der required wert soll ungleich value sein.
      Das Perl Skript gibt eh eine Fehler-HTML Seite zurück, wenn die Felder leer sind. Bei mir sind sie aufgrund des values ja nicht leer.
      Wie kann ich also diesen Check in das Perl Skript einbauen, damit die Fehler-Seite auch kommt, wenn required=value?

      Steffi

      Hi Stefani

      »»will sagen: Der required-Wert muss ungleich dem Value sein, damit man das Form abschicken kann.

      Ich hoffe jemand versteht was ich meine?!?

      Mit perl kannst du das Formular nicht prüfen. Perl laüft auf dem Server. Und damit die Formulardaten von einem Perl-Script geprüft werden können, muß das Formular erst einmal auf dem Server "landen", also abgeschickt worden sein.

      Also ist mit Perl an dieser Stelle nichts zu machen. Eventuell mit JavaScript. Aber denk' dran, das kann auch abgeschaltet sein.
      Das Beste wäre, das Formular wird so oder so abgeschickt, auf dem Server z.B. durch ein Perl-Script geprüft und dann entsprechend reagiert. Z.B. kannst du das Formular ja wieder (eventuell mit enstpr. Fehlermeldungen) wieder "zurück schicken"

      Bye
      Timothy