作者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
推 woody3724:非常感謝! 10/18 18:42
推 hanhong:盡量別用PHP去echo js 10/19 06:16
→ MOONRAKER:var dep="<?php echo $departure; ?>"; 這樣好一點 10/19 06:23
→ buganini:var dep=<?php echo json_encode($departure)?>; 10/19 14:03
→ carlcarl:嗯嗯 看原PO想怎麼弄吧 全部用echo的確是不太舒服 10/19 17:12
→ MOONRAKER:什麼不太舒服 根本是全身都不舒服 |D 10/19 18:48
推 liisi:真的很不舒服.... 10/20 11:31
→ Bambe:那如果用 short open tag 呢 ?.? 各位大大建議嗎@@ 10/20 13:26
→ MOONRAKER:現在不是都不建議用了 雖然多打很多字但是習慣就好 10/20 15:10
推 woody3724:之所以用echo去echo js是有部分程式碼用js寫 10/20 16:29
→ woody3724:只是這邊貼上來的程式碼單純擷取一小部分而已 10/20 16:29
推 LPH66:像這種地方我會建議用 heredoc 或者乾脆就 ?> 結束再寫 10/21 11:27
→ Madevil:語法應該是像 echo "var dep='".$departure."';"; 這樣 10/21 17:25