Lars Gausler: fehler bei javascript in perl

Moin!

Ich habe ein cgi script, in welches überprüft werden soll, ob eingaben gemacht wurden. Dazu wollte ich das script nun mit javascript erweitern.
Beim aufrufen des unten gelisteten scriptes, bekommen ich die fehlermeldung:
zeile: 1
zeichen: 1
fehler: objekt erwartet
code: 0

was mache ich flasch???

ich danke euch.

mfg

Lars

---code---

#!/usr/local/bin/perl

use strict;
print "Content-Type:text/html\n\n";
print "<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Strict//EN"";
print ""http://www.w3.org/TR/html4/strict.dtd">";

print "<html><head><title>javascript test</title>";
print "<script type='text/javascript'>";
print "<!--";
print "function CheckPara()";
print "{";
print "var i = 0;";
print "var bool = 1;";
print "while(document.forms[0].elements[i++].name)";
print "{";
print "if(!(document.forms[0].elements[i].value))";
print "{";
print "bool = 0;";
print "}";
print "}";
print "if(bool == 0)";
print "{";
print "alert("Not all mandantory parameters are enterd!!!");";
print "}";
print "else";
print "{";
print "document.Formular.action='/cgi-bin/lol.cgi';";
print "document.Formular.method='post';";
print "document.Formular.submit();";
print "}";
print "}";
print "//-->";
print "</script>";
print "</head>";

print "<body>";
print "<form name='Formular' action=''>";
print "Application:<br>";
print "<input type='text' name='app'><br>";
print "new one:<br>";
print "<input type='text' name='lol'><br><br>";
print "<input type='button' value='ckeck para' onClick='CheckPara()' style='width:120px'>";
print "</form>";
print "</body></html>";

  1. Moin!

    Kommentiere einzele Javascript-Blöcke doch einfach mit // aus und setze alert(variable) an kritische Stellen. Dann solltest Du den Fehler irgendwann finden...

    Viel Glück! ;)

    #!/usr/local/bin/perl

    use strict;
    print "Content-Type:text/html\n\n";
    print qq~<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Strict//EN" "http://www.w3.org/TR/html4/strict.dtd">
    <html>
      <head>
        <title>javascript test</title>
        <script type="text/javascript">
        <!--
        function CheckPara()
        {
          var i = 0;
          var bool = 1;
          while (document.forms[0].elements[i++].name)
          {
            if (!(document.forms[0].elements[i].value))
            {
              bool = 0;
            }
          }
          if (bool == 0)
          {
            alert("Not all mandantory parameters are enterd !!!");
          }
          else
          {
            document.Formular.action = "/cgi-bin/lol.cgi";
            document.Formular.method = "post';
            document.Formular.submit();
          }
        }
        //-->
        </script>
      </head>
      <body>
        <form name="Formular" action="">Application:<br>
          <input type="text" name="app"><br>new one:<br>
          <input type="text" name="lol"><br><br>
          <input type="button" value="ckeck para" onClick="CheckPara()" style="width:120px">
        </form>
      </body>
    </html>~;