我有一个打印出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 alert "Hello".</p>
<button onclick="myFunction('$perl_variable')">Try it</button>
<script>
function myFunction(var message){
setTimeout(function(){alert(message)},3000);
}
</script>
</HTML>
START
答案 0 :(得分:5)
注意:这个答案的前半部分是指问题中最初(编辑前)的代码。
你需要:
这样:
myFunction('$perl_variable')
请注意,如果您的数据可能包含JavaScript字符串文字中不允许的字符(例如新行),则字符串文字中具有特殊含义的字符(例如用于分隔它的引号)或字符在HTML中有特殊含义(例如分隔属性值的引号),那么你还需要执行适当的转义(分两步,首先是JS,然后是HTML)。
另外, JS中的函数定义也是错误的:
function myFunction(var path){
FormalParameterList中不能使用var
关键字。那应该是:
function myFunction(path){