วันพุธที่ 26 พฤศจิกายน พ.ศ. 2557

การแทรก PHP ใน Javascript เรื่องกล้วย ๆ ที่อาจจะต้องได้ใช้

การแทรก 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 ขึ้นมารองรับอีกทีนึง




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

แสดงความคิดเห็น