การแทรก PHP ใน Javascript เรื่องกล้วย ๆ ที่อาจจะต้องได้ใช้
การแทรก PHP ใน Javascript นี้ หลายคนอาจจะไม่เคยได้ใช้ หรืออาจจะไม่เคยรู้มาก่อน แต่ในความเป็นจริง มันก็ไม่ค่อยได้ใช้กันเท่าไหร่หรอก เพราะว่ามันค่อนข้างจะยุ่งยากสำหรับหลาย ๆ คน เช่น ถ้าเราอยากจะส่งตัวแปรของ PHP ไปแสดงในฟังก์ชั่น Alert(); ของ Javascript เพราะว่าจะได้ดูดี หรือ สวยงาม กว่า การแสดงผลแบบธรรมดา ๆเหตุผลแค่นี้หล่ะครับ เป็นที่มาของการแทรก PHP ใน Javascript แต่มันก็ไม่ใช่เรื่องยากเย็นอะไร ผมก็รู้มาแค่งู ๆ ปลา ๆ เหมือนกัน
ตัวอย่างโค้ด
<?
$msg="Code-Father.com";
$msg=$msg."ยินดีต้อนรับ ทุก ๆ ท่าน";
$msg=$msg."ขอให้ทุกท่านโชคดี มีตังค์ใช้ และมีสุขภาพแข็งแรง ๆนะครับ ";
?>
แบบที่ 1
<script type="text/javascript">
var strMessage = '<?=$msg?>' ;// สร้างตัวแปรมารับก่อน alert (strMessage);
</script>
แบบที่ 2
<script type="text/javascript">
alert ('<?=$msg?>'); // แบบนี้ก็ใช้
</script>

จากตัวอย่างจะเห็นได้ว่าข้อความยังไม่มีการขึ้นบรรทัดใหม่ มองดูแล้วก็ไม่สวยงามเท่าใดนัก
จากการลองใช้ \r\n ดูแล้ว แต่มันไม่แสดงผลอะไรเลย ก็เลยสรุปว่า \r\n นั้น ใช้ไม่ได้
\r ก็คือสั่งให้ cursor return กลับไปยังต้นบรรทัด รหัส ascii = 10
\n ก็คือให้ขึ้นบรรทัดใหม่ รหัส ascii = 13
ก็เลยต้องหาวิธีใหม่ ต้องใช้ฟังก์ชั่น "ค้นหา" และ "แทนที่" เข้ามาช่วย ดังตัวอย่างด้านล่างนี้
การที่เราจะค้นหาได้นั้น เราก็ต้องสร้างคำที่จะค้นหา เพื่อที่จะได้แทนที่ขึ้นมาก่อน
จึงเลือกใช้ XX (ไม่ได้โรคจิตนะครับ) จากนั้นก็ใช้ฟังก์ชั่น replace() มาทำการค้นหาและแทนที่ด้วย "\r=n"
<?
$msg="Code-Father.com XX ";
$msg=$msg."ยินดีต้อนรับ ทุก ๆ ท่าน XX ";
$msg=$msg."ขอให้ทุกท่านโชคดี มีตังค์ใช้ และมีสุขภาพแข็งแรง ๆ นะครับ ";
?>
<script type="text/javascript">
var strMessage = '<?=$msg?>' ; // สร้างตัวแปรมารับก่อนนะครับ
alert (strMessage.replace(/x/ig,"\r\n"));
</script>
* การสร้างตัวแปรมารับนั้น เพื่อที่จะสามารถนำตัวแปรใหม่ไปใช้งานต่อได้อีก หากใช้ตัวแปรของ PHP โดยตรง
* จะไม่สามารถทำได้ จึงต้องสร้างตัวแปรของ Javascript ขึ้นมารองรับอีกทีนึง

ไม่มีความคิดเห็น:
แสดงความคิดเห็น