作者carlcarl (carl)
看板PHP
标题Re: [请益] PHP变数指定给Javascript
时间Thu Oct 18 16:48:49 2012
※ 引述《woody3724 (woody)》之铭言:
: <?php
: $keywords = 20;
: $departure = 30;
: echo $keywords."<br>".$departure."<br>";
: echo "<script type=\"text/javascript\">";
: echo "var dep=".$departure.";";
: echo "var key=".$keywords.";";
: echo " document.write(dep);";
: echo "</script>";
: ?>
: 上面程式码 印出的结果为
: 20
: 30
: 30
: 如小弟我所预期
: ===========================================================
: 但下面的程式码
: <?php
: $keywords = "花莲";
: $departure = "台北";
: echo $keywords."<br>".$departure."<br>";
: echo "<script type=\"text/javascript\">";
: echo "var dep=".$departure.";";
: echo "var key=".$keywords.";";
: echo " document.write(dep);";
: echo "</script>";
: ?>
: 印出结果却是
: 花莲
: 台北
: 怎麽会少一个台北呢
: 能否请各位解惑
: 先谢谢了
因为第一个 你用的是数字 所以不用""或''包起来
但是第二个部份你用的是字串 但是你没有用""或''包起来 所以会错
IE开个开发者工具或是firefox装firebug看一下它就会有说你有什麽错误
其他像Opera和Chrome也都有这样的工具 建议你熟悉一下
改成以下部份就OK 我个人是不太喜欢用.来接字串和变数就是 会把自己搞很乱
echo "<script type=\"text/javascript\">";
echo "var dep='{$departure}';";
echo "var key='{$keywords}';";
echo " document.write(dep);";
echo "</script>";
--
http://blog.carlcarl.tw
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 111.242.1.198
1F:推 woody3724:非常感谢! 10/18 18:42
2F:推 hanhong:尽量别用PHP去echo js 10/19 06:16
3F:→ MOONRAKER:var dep="<?php echo $departure; ?>"; 这样好一点 10/19 06:23
4F:→ buganini:var dep=<?php echo json_encode($departure)?>; 10/19 14:03
5F:→ carlcarl:嗯嗯 看原PO想怎麽弄吧 全部用echo的确是不太舒服 10/19 17:12
6F:→ MOONRAKER:什麽不太舒服 根本是全身都不舒服 |D 10/19 18:48
7F:推 liisi:真的很不舒服.... 10/20 11:31
8F:→ Bambe:那如果用 short open tag 呢 ?.? 各位大大建议吗@@ 10/20 13:26
9F:→ MOONRAKER:现在不是都不建议用了 虽然多打很多字但是习惯就好 10/20 15:10
10F:推 woody3724:之所以用echo去echo js是有部分程式码用js写 10/20 16:29
11F:→ woody3724:只是这边贴上来的程式码单纯撷取一小部分而已 10/20 16:29
12F:推 LPH66:像这种地方我会建议用 heredoc 或者乾脆就 ?> 结束再写 10/21 11:27
13F:→ Madevil:语法应该是像 echo "var dep='".$departure."';"; 这样 10/21 17:25