我试图将一个java脚本添加到动态生成的页面中。 我尝试过这个,但似乎没有用。
<SCRIPT SRC=\"sorttable.js\"></SCRIPT>
我总是需要将javacode与html一起内联才能工作。 有线索吗?
答案 0 :(得分:3)
qq()
相当于""
,但具有匹配的分隔符。如果您要输出HTML或JavaScript,它将成为您的朋友。
print qq(<script type="text/javascript">alert("The world is my oyster");</script>);
请注意,您不必使用()
作为分隔符,请参阅perlop。
如果您要输出构建HTML的JavaScript,则应使用jQuery或Ext。但无论哪种方式,你都将陷入多层次的逃避之中。 JSON::XS可能会让你的生活变得更加痛苦。还要了解here-documents:
my $js = <<'JS';
alert( 'The world is my oyster' );
var $href = "example.html";
document.write( '<a href="' + $href + '">clicky</a>' );
JS
print qq(<script type="text/javascript">$js</script>);
关于上述内容的棘手问题是$href
是一个JavaScript变量,而不是Perl变量。 (是的,JS标识符可能包含$
。)
答案 1 :(得分:2)
也许这个链接可能会有所帮助: http://perlmeme.org/tutorials/cgi_form.html
它提供了将jsp函数嵌入到form-onsubmit中的方法,如下所示:
print $ q-&gt; start_form( -name =&gt; 'main_form', -method =&gt; '得到', -enctype =&gt; &安培; CGI :: URL_ENCODED,
-onsubmit => 'return javascript:validation_function()', -action => '/where/your/form/gets/sent', );
Perl5 CGI库有以下链接 - 支持Javascript,它是关于将javascript函数链接到事件。 http://cpansearch.perl.org/src/MARKSTOS/CGI.pm-3.60/cgi_docs.html#javascripting
此致
答案 2 :(得分:0)
这取决于 WHOLE 事物的引用结构。如果您在未插入的 heredoc 中打印出来,那么\"
只会产生更大的问题。
print <<'END_HTML';
...
<SCRIPT SRC=\"sorttable.js\"></SCRIPT>
...
END_HTML
或q表达式:
print q~
...
<SCRIPT SRC=\"sorttable.js\"></SCRIPT>
...
~;
所以你必须展示更多你的背景。但请允许我向您保证:当我以正确的方式写出标签时,我的JavaScript文件就会像我期望的那样进入页面。