Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/459.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/11.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变量传递到Javascript函数中?_Javascript_Perl - Fatal编程技术网

如何将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

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