Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/427.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将Perl变量传递给HTML调用的Javascript函数_Javascript_Html_Perl - Fatal编程技术网

将Perl变量传递给HTML调用的Javascript函数

将Perl变量传递给HTML调用的Javascript函数,javascript,html,perl,Javascript,Html,Perl,我有这个密码 Perl HTML 但是,它会发出警告,var1和var2未定义,因此不会传递参数。(注意,它是在Perl中定义的,作为转储程序完成的!) 有人能帮助我们正确地将Perl变量传递到JavaScript中吗?我已经搜索了这个网站,但是我找不到任何对我的要求有帮助的东西 谢谢我不确定您正在模板化的引擎是什么,但我怀疑这一点 <select id="example" title="example" onchange="doThis(<% $var1, $var2 %>)

我有这个密码

Perl

HTML

但是,它会发出警告,var1和var2未定义,因此不会传递参数。(注意,它是在Perl中定义的,作为转储程序完成的!)

有人能帮助我们正确地将Perl变量传递到JavaScript中吗?我已经搜索了这个网站,但是我找不到任何对我的要求有帮助的东西


谢谢

我不确定您正在模板化的引擎是什么,但我怀疑这一点

<select id="example" title="example" onchange="doThis(<% $var1, $var2 %>)">

vs



注意逗号和引号,确保
是转义内容的HTML。现在,这是否安全是一个完全不同的问题。您需要在perl中确保
$var1
$var2
没有
也不以终端
\
结尾。它会变得很难看。

您需要查看页面在浏览器上显示时的外观。Perl是一种服务器端语言,而JavaScript是一种客户端语言。这意味着您的Perl在JavaScript被处理之前就已经被处理过了。您在Perl中声明的所有变量都消失了。@Pointy的意思是——在浏览器中加载页面并检查源代码——`onChange=“doThis()”>的外观如何?我不知道这里使用的(未指定)模板语言,但如果JSON包含引号,这不会失败吗?看起来像是注入错误。
<select id="example" title="example" onchange="doThis(<% $var1, $var2 %>)">
function doThis(var1, var2){
    alert(var1);
    alert(var2);
};
<select id="example" title="example" onchange="doThis(<% $var1, $var2 %>)">
<select id="example" title="example" onchange='doThis("<% $var1 %>", "<% $var2 %>")'>