Anfänger: mit onClick Perl Unterprogramme aufrufen

Hallo zusammen !

In einen CGI-Script habe ich onClick-Funktion eingebaut und möchte gerne, wenn man auf dem Button klick soll eine bestimmte Unterprogramm in dem selben Datei ausgeführt werden.

Beispiel:

#!/usr/bin/perl -w

use strict;
use CGI::CARP qw(fatalsToBrowser);

sub Test1 () {
...
...
...
print "<input type=button value='Führe Test2 aus' onClick='Test2()'></form>";

}

sub Test2 () {
...
}

Wenn man jetzt auf dem Button klick wird sub Test2 leider nicht ausgeführt. Kann jemand mir bitte helfen ?

  1. Hallo !

    Beispiel:perlscript.pl

    #!/usr/bin/perl -w

    use strict;
    use CGI::CARP qw(fatalsToBrowser);
    use CGI;
    my $cgi  = new CGI;
    my $act  = $cgi->param('act');

    if($act eq "Test2") { Test2(); }
    else                { Test1(); }

    sub Test1 () {
    ...
    print "<input type=button value='Führe Test2 aus' onClick='perlscript.pl?act=Test2'></form>";
    }

    sub Test2 () {
    ...
    }

    Wenn man jetzt auf dem Button klick wird sub Test2 leider nicht ausgeführt. Kann jemand mir bitte helfen ?

    Gruß Sergej

    1. Halihallo Sergej

      use CGI::CARP qw(fatalsToBrowser);

      use CGI::Carp ...

      print "<input type=button value='Führe Test2 aus' onClick='perlscript.pl?act=Test2'></form>";

      Nein. Zum einen ist "perlscript.pl?act=Test2" kein gültiger Javascript-Code (welcher in
      onclick zwingend stehen muss), noch lassen sich Methoden in Perl-Programmen über Java-
      Script starten.

      @Anfänger:
      Perl läuft auf dem Server, JavaScript auf dem Client. Das Aufrufen von Methoden aus
      Javascript in einem Perlprogramm ist _unmöglich_. Die einzige Möglichkeit ist die von
      Sergej angedeutete, dass du einen neuen Request (Zugriff/Aufruf) auf das Perl-Script
      startest.

      Viele Grüsse

      Philipp

      --
      RTFM! - Foren steigern das Aufkommen von Redundanz im Internet, danke für das lesen der Manuals.
      Selbstbedienung! - Das SelfForum ist ein Gratis-Restaurant mit Selbstbedienung, Menüangebot steht in den </faq/> und dem </archiv/>.
      1. Grüß Dich Phil,

        print "<input type=button value='Führe Test2 aus' onClick='perlscript.pl?act=Test2'></form>";
        Nein. Zum einen ist "perlscript.pl?act=Test2" kein gültiger Javascript-Code ...

        Stimmt! Es muß eine Javascript-Methode aufgerufen werden, die die Seite neu ladet, z.B open('perlscript.pl?act=Test2', target ,...)

        Gruß Sergej