繁体   English   中英

如何将Perl变量传递给Javascript函数?

[英]How to pass Perl variable into Javascript function?

我有一个从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

注意:此答案的前半部分是指最初(在编辑之前)出现在问题中的代码。

你需要:

  1. 使用正确的变量名称
  2. 生成JavaScript字符串文字(通过引用数据)

这样:

myFunction('$perl_variable')

请注意,如果您的数据可能包含JavaScript字符串文字中不允许使用的字符(例如新行),字符串文字中具有特殊含义的字符(例如定界它的引号)或具有特殊含义的字符在HTML中(例如,界定属性值的引号),您还需要执行适当的转义(分两步,首先是JS,然后是HTML)。


作为旁白, 您在JS中的函数定义也是错误的:

function myFunction(var path){

var关键字不能在FormalParameterList中使用。 内容应为:

function myFunction(path){

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM