如何将php参数传递给javascript [英] how to pass php parameter to javascript

查看:96
本文介绍了如何将php参数传递给javascript的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

可能重复:
将php变量值传递给javascript

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非常简单:

and my javascript function tab_click is quite simple:

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

关键部分在这里:

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

无法解决!所以我这样修改它:

it cannot work out ! so I change it like this:

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

可以正常工作,页面显示123!我不知道为什么会这样?然后我检查了html代码,没关系:

it works perfert, and the page show me 123! I wonder why this happen? And I checked the html code, it ok:

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

好吧,我不知道为什么吗?

ok, I don't know why?

推荐答案

您需要在JavaScript中为字符串参数添加其他引号:

You need additional quotes in your javascript for string parameters:

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

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

In your test case $test = 123; you are passing an integer, so the quotes are not needed.

编辑

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

Output without quotes (invalid javascript):

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

带引号的输出:

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

这篇关于如何将php参数传递给javascript的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆