Re: [請益] PHP變數指定給Javascript

看板PHP作者 (carl)時間11年前 (2012/10/18 16:48), 編輯推噓5(508)
留言13則, 9人參與, 最新討論串1/1
※ 引述《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

10/18 18:42, , 1F
非常感謝!
10/18 18:42, 1F

10/19 06:16, , 2F
盡量別用PHP去echo js
10/19 06:16, 2F

10/19 06:23, , 3F
var dep="<?php echo $departure; ?>"; 這樣好一點
10/19 06:23, 3F

10/19 14:03, , 4F
var dep=<?php echo json_encode($departure)?>;
10/19 14:03, 4F

10/19 17:12, , 5F
嗯嗯 看原PO想怎麼弄吧 全部用echo的確是不太舒服
10/19 17:12, 5F

10/19 18:48, , 6F
什麼不太舒服 根本是全身都不舒服 |D
10/19 18:48, 6F

10/20 11:31, , 7F
真的很不舒服....
10/20 11:31, 7F

10/20 13:26, , 8F
那如果用 short open tag 呢 ?.? 各位大大建議嗎@@
10/20 13:26, 8F

10/20 15:10, , 9F
現在不是都不建議用了 雖然多打很多字但是習慣就好
10/20 15:10, 9F

10/20 16:29, , 10F
之所以用echo去echo js是有部分程式碼用js寫
10/20 16:29, 10F

10/20 16:29, , 11F
只是這邊貼上來的程式碼單純擷取一小部分而已
10/20 16:29, 11F

10/21 11:27, , 12F
像這種地方我會建議用 heredoc 或者乾脆就 ?> 結束再寫
10/21 11:27, 12F

10/21 17:25, , 13F
語法應該是像 echo "var dep='".$departure."';"; 這樣
10/21 17:25, 13F
文章代碼(AID): #1GVy9qUC (PHP)