JavaScript href onclick不使用Perl

JavaScript href onclick不使用Perl,javascript,perl,onclick,href,Javascript,Perl,Onclick,Href,下面是我的代码。我所有的按钮功能都工作得很好,但是如果我点击链接,服务器的值应该被记住,页面应该重新加载参数视图和子系统 但当我重新加载时,服务器的值为空 my $server = $q->param('server') ; my $unit = $q->param('unit') ; my $bfile = __FILE__ ; $bfile = `basename $bfile` ; chomp $bfile ; print "<form name=\"form1\"

下面是我的代码。我所有的按钮功能都工作得很好,但是如果我点击链接,服务器的值应该被记住,页面应该重新加载参数视图和子系统

但当我重新加载时,服务器的值为空

my $server = $q->param('server') ;
my $unit = $q->param('unit') ;

my $bfile = __FILE__ ;
$bfile = `basename $bfile` ;
chomp $bfile ;

print "<form name=\"form1\" action =\"/cgi-bin/$bfile\" onsubmit=\"javascript:onsubmitform(doc_press)\">";

print "<input type=\"hidden\" name=\"server\" id=\"server\">";
print "<input type=\"hidden\" name=\"unit\" id=\"unit\">";
print "\n\n<input type=submit name=view value=\"View\" onClick=\"doc_press=this.value\">";
print "<input type=submit name=save value=\"Save\" onClick=\"doc_press=this.value\">";

print $var{$a}."<a href=\"/cgi-bin/$bfile?view=5&SUBSYS=$subsys\" onClick=javascript:click_page(\"$_\")>CLICK</a>\n" ;

print <<"END_OF_SCRIPT";
<script type="text/javascript">
function onsubmitform(doc_press) {
        if (doc_press == "View"){
                document.getElementById('unit').value="$unit";
        }
        else if (doc_press == "Save") {
END_OF_SCRIPT
             var x = "$user=$val";
             document.cookie=x;
             document.getElementById('unit').value="$unit";
        }
        if (document.getElementById('HTTP_TYPE').value == "post") {
                document.form1.method='post';
        }
        else if(document.getElementById('HTTP_TYPE').value == "get") {
                document.form1.method='get';
        }
}

function click_page(server){
        document.getElementById('server').value=server;
}
</script>
END
my$server=$q->param('server');
我的$unit=$q->param('unit');
my$bfile=\uuuuu文件\uuuuuu;
$bfile=`basename$bfile`;
chomp$bfile;
打印“”;
打印“”;
打印“”;
打印“\n\n”;
打印“”;
打印$var{$a}。“\n”;
单击链接时打印(


javascript:
不属于
onsomething=“”
handlers。它不是URL,而是JavaScript代码!而且,如果您使用XHTML,它的属性必须是完全小写的,即,
onclick
此代码甚至不编译,提供您的真实代码。代码中至少缺少6个声明。您知道字符串中不需要所有这些\“,对吗?使用qq{}瞧,打印qq{};更好的是,使用模板系统(我喜欢Text::Template的简单性,但模板工具包也非常流行)@达克西姆:我只是把代码给你参考,以便你能理解我的问题。我的整个程序都是保密的。所以我不能在这里提供。谢谢you@mirod:谢谢你。但是我已经习惯了。所以如果我也改变,它会让我困惑。嗨,它起作用了,谢谢。但是我需要链接,因为我有一些新的参数重新加载时也要考虑该链接中的ER。是否有其他方法解决此问题?如果您的表单具有
method=“GET"
,然后表单将被发布到
操作
属性中指定的URL,所有表单的值都附加到URL的查询字符串中。我看到您已经在其他地方摆弄表单的方法;为什么不在这里再做一次呢?我已经更改了操作值。但它没有被更改。我不知道为什么。它需要我之前定义的链接。
function click_page(server){
    document.getElementById('server').value=server;
    document.forms[0].submit();
    return false;
}
<a href="..." onclick="return click_page('$_')">CLICK</a>