如何将Perl变量传递到Javascript函数中?
我有一个从html页面打印出来的Perl脚本。我想使用javascript弹出警报消息。警报消息在perl变量中定义为字符串。我试图将perl变量值作为参数传递给javascript函数,但它不起作用。请帮忙如何将Perl变量传递到Javascript函数中?,javascript,perl,Javascript,Perl,我有一个从html页面打印出来的Perl脚本。我想使用javascript弹出警报消息。警报消息在perl变量中定义为字符串。我试图将perl变量值作为参数传递给javascript函数,但它不起作用。请帮忙 $perl_variable = "Welcome"; # alert msg print <<START <HTML> some html code.... <p>Click the button to wait 3 seconds, then
$perl_variable = "Welcome"; # alert msg
print <<START
<HTML>
some html code....
<p>Click the button to wait 3 seconds, then alert "Hello".</p>
<button onclick="myFunction('$perl_variable')">Try it</button>
<script>
function myFunction(var message){
setTimeout(function(){alert(message)},3000);
}
</script>
</HTML>
START
$perl_variable=“Welcome”#警报味精
打印NB:这个答案的前半部分指的是问题中最初出现的代码(编辑前)
您需要:
使用正确的变量名
生成JavaScript字符串文字(通过引用数据)
例如:
请注意,如果您的数据可能包括JavaScript字符串文字中不允许的字符(如新行)、字符串文字中具有特殊含义的字符(如分隔该字符串文字的引号)或HTML中具有特殊含义的字符(如分隔属性值的引号)然后,您还需要执行适当的转义(分两个步骤,首先用于JS,然后用于HTML)
另外,您在JS中的函数定义也是错误的:
function myFunction(var path){
在FormalParameterList中不能使用var
关键字。应改为:
function myFunction(path){
您是指perl\u变量
而不是path\u qa\u图像
?查看浏览器的错误控制台;不引用变量可能会导致错误。更正注释-文件路径在perl变量中定义,以提醒消息我已编辑您的问题以删除对perl;的引用。在这种情况下,根据经验,当您从另一种编程语言生成一种编程语言而最终结果不起作用时,很容易看出错误所在——然后首先确定问题是否在于您不知道如何生成所需的代码(在这种情况下,显示两组代码)或者,如果您不知道应该生成什么代码(在这种情况下,只显示生成的结果,并描述其行为与预期的不同)。
function myFunction(path){