将一个php变量的值作为第二个参数onclick传递给javascript函数时传递错误

时间:2014-02-06 11:03:28

标签: javascript php

这是我的php代码

foreach($resource as $res) {    
    $PDF = $res->res_link; 
    $pdfname = $res->$res_name; (which is Dimesional_analysis) 

    echo "<a class='pdflink' href='#' onClick=OpenPdf('$PDF','$pdfname');><div class='txt'><table class='txt-in'><tr><td>$icon</td><td> $temp </tr></table></div></a>";
}

和我的onclick javascript代码

           function OpenPdf(pdf,pdfname) {
            some functionality;
            }

但是,在点击链接时,它显示“未终止的字符串文字”。但是,当pdfname没有下划线时,即如果我给出类似$pdfname = 'Dimension'它正常工作。希望有人帮我解决这个问题。感谢。

2 个答案:

答案 0 :(得分:1)

始终查看生成的HTML:

<a class='pdflink' href='#' onClick=OpenPdf('something','Dimensional_analysis');>

这对我来说看起来并不合适:p它肯定容易受到问题的影响。

试试这个:(为了便于阅读而添加新行)

echo '<a class="pdflink" data-pdf="'.htmlspecialchars($PDF).'"
    data-pdfname="'.htmlspecialchars($pdfname).'"
    onClick="OpenPdf(this.getAttribute(\'data-pdf\'),
                                       this.getAttribute(\'data-pdfname\'));">';

答案 1 :(得分:0)

试试这个:

echo "<a class='pdflink' href='#' onClick=OpenPdf('".$PDF."','".$pdfname."');><div class='txt'><table class='txt-in'><tr><td>$icon</td><td> $temp </tr></table></div></a>";