php - 如何将php参数传递给javascript

标签 php javascript parameters onclick

Possible Duplicate:
pass php variable value to javascript

我有一段php代码

function formLetterTabPage($redirect_url, $letter){
  $test = 123;
  foreach (range('A','Z') as $val) {
    if($val == $letter){
        echo '<li class="a" id="li_'.$letter.'" onclick="tab_click('.$letter.')">'.$letter.'</li>';
    }else{
        echo '<li class="b" id="li_'.$val.'" onclick="tab_click('.$letter.')">'.$val.'</li>';
    }
  }
}

我的 javascript 函数 tab_click 非常简单:

function tab_click(f){
  alert(f);
}

关键部分在这里:

echo '<li class="a" onclick="tab_click('.$letter.')">'.$letter.'</li>';

这不可能成功!所以我把它改成这样:

$test = 123;
echo '<li class="a" onclick="tab_click('.$test .')">'.$letter.'</li>';

它工作得很好,页面显示了 123!我想知道为什么会出现这种情况?我检查了html代码,没问题:

<li class="navi_letter_leftb" id="li_A" onclick="tab_click(A)">A</li>

好吧,我不知道为什么?

最佳答案

您需要在 JavaScript 中为字符串参数添加额外的引号:

echo '<li class="a" onclick="tab_click(\''.$letter.'\')">'.$letter.'</li>';

在您的测试用例中$test = 123;您传递的是一个整数,因此不需要引号。

编辑

不带引号的输出(无效的 JavaScript):

<li class="a" onclick="tab_click(a)">a</li>

带引号的输出:

<li class="a" onclick="tab_click('a')">a</li>

关于php - 如何将php参数传递给javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12822686/

相关文章:

C++:如何通过其构造函数的参数初始化类内矩阵的维度?

php - 我如何修复 symfony 缓存生成的文件

javascript - 如何为追加创建动态选择器?

javascript - .then 在 'pending' 上执行而不是已解决的 promise

javascript - 需要在所有屏幕尺寸上制作不寻常的导航

javascript - $(document).height() 和 $(window).height() 有什么区别

javascript - 每秒更新 Javascript 中的倒计时时间

PHP 显示数据库中的图像

objective-c - 在 Swift 3 中扩展 ObjC 泛型

C 中的堆栈变量损坏