2016-03-22 11 views
-1

私はJavascriptでPerl CGIを試しています。私にとっては難しいです。Perl with Javascript(Perlscript)

試してみてください。

if ($lqcgi->param('sel_cl')){ 
     $selected_action = $lqcgi->param('sel_cl'); 
     print "<TR><script> document.write("<button type=\"button\" id=\"delete\">Delete</button>")</script>$line $ssh_command_flow User: $ENV{ REMOTE_USER }</TR>\n"; 
    } 

私はそれが正しいか間違っているかどうかわかりません。 Plsは私を助ける。ありがとうございました。

+2

あなたが私たちに与えたことを伝えることは不可能です。あなたがやっていることや達成しようとしていることの詳細が必要です。 – Sobrique

+4

質問することも役に立ちます。 :) – simbabque

+0

例: 'IF($ lqcgi-> PARAM( 'sel_cl')){ \t \t \t $ selected_action = $ lqcgi-> PARAM( 'sel_cl')。 \t \t \t印刷 " $ラインの$ ssh_command_flowユーザー:$ ENV {REMOTE_USER} N \"。 \t \t \t印刷 "を削除"; \t \t} – Markus

答えて

2

実際に質問していないので、あなたの問題が何であるかを知ることは難しいです。しかし、二重引用符文字を含む二重引用符の文字列があることを指摘します。そして、それらのすべてが正しくエスケープされているわけではありません。

Perlには、ダブルクォート文字を含む二重引用符を生成するのが簡単になるqq(...)演算子があります。

if ($lqcgi->param('sel_cl')){ 
    $selected_action = $lqcgi->param('sel_cl'); 
    print qq(<TR><script> document.write("<button type=\\"button\\" id=\\"delete\\">Delete</button>")</script>$line $ssh_command_flow User: $ENV{ REMOTE_USER }</TR>\n); 
} 

更新:あなたはまた、彼らはJavaScriptに通過し得るように、「\」sに倍増する必要があります。

+1

'' \ ''文字をJavaScriptのエスケープ文字にしようとすると、Perlエスケープ文字として扱われませんか? – Quentin

+0

絶対に。今修正されました。それを指摘してくれてありがとう。 –