簡體   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