A-AA+then

ถามอาจารย์เรื่ิองการส่งค่าข้อมูล

1,521
โค้ดฟังก์ชันภาษาจาวาสคริป
<script>
function ajax_link(a,b,c){
var data="a="+a+"&b="+b+"&c="+c;
var URL="test2.php";
ajaxLoad("post",URL,data,null,null);
}
</script>

โดยปกติแล้วหนูจะใช้ฟังก์ ajax_link กับออบเจ็กที่สร้างขึ้นปกติ ที่ไม่ได้ echo สร้างออบเจ็คออกมา เช่น
<input name="ok" type="button" id="ok" value="ตกลง" onclick="ajax_link(101,'hello','200');"/>
การส่งค่าตัวแปรไปแบบนี้จะไม่มีปัญหา

แต่บางครั้งหนูจำเป็นจะต้องสร้างออบเจ็กที่ต้อง echo ขึ้นมาโดย event ต่างๆ onclick ด้วยปุ่มต่างๆ แล้วให้แสดงออบเจ็กนั้นออกมา
ตัวอย่างโค้ด เช่น คลิกปุ่มแล้วจะสร้างตารางในโค้ดนี้ขึ้นมา 
 

$table
="<table>";
....โค้ดสร้างตาราง.....
$table.="<td align='center' valign='top'>

<a href='#' onclick='ajax_link(101,'hello','200');'><img src='...'></a></td>";
....โค้ดสร้างตาราง.....
$table.="</table>";

$js = <<<JS
var el = document.getElementById('display');
el.innerHTML = "$table";
JS;
header("content-type: text/javascript; charset=tis-620");
$js=iconv('utf-8','tis-620',$js);
echo $js;

การส่งค่าฟังก์ชันไปแบบนี้จะไ่ม่สามารถส่งไปได้ ถ้าเป็นข้อมูลตัวเลข 100 แบบนี้ก็จะไม่ error
แต่ถ้าเป็นตัวหนังสือแบบนี้ 'hello' '200' จะเกิด error ค่ะ หนูก็ลองเปลี่ยนตัวคร่อมเป็น " แล้วก็ยังมี error 

อาจารย์ทราบไหมค่ะว่าเป็นเพราะเหตุใด

2 ความคิดเห็น

เรื่องปกติครับ

ถ้าจะทำให้สามารถใช้ Javascript ได้ ต้องสร้าง element ต่างๆโดยฟังก์ชั่น createElement ครับ 
1

 ขอบคุณค่ะ แล้วจะลองดูนะคะ่
2
^