|
|
|
ว่าด้วยเรื่อง onclick="function" คับ ไม่รู้ว่า onclick หรือ function ไม่ทำงาน |
|
|
|
|
|
|
|
โค้ดนี้ ไม่ parse error เหรอครับ
มันควรจะ parse error นะครับ ไม่น่าจะทำงานเลยด้วยซ้ำ
บรรทัดที่ 14
echo "<div id='div1'><span><a href='' onclick='check("$q")'>".$q."</a></span></div>";
นี่ได้ลองรันมันจริงๆ หรือยังครับ
|
|
|
|
|
Date :
2013-04-21 12:45:10 |
By :
cookiephp |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
โทดทีคับ ต้องเป็น check(".$q.") แต่ก้ยังไม่ได้ =_=
|
|
|
|
|
Date :
2013-04-21 12:59:10 |
By :
ninenine073 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เพราะงี้ไงครับ
echo "<div id='div1'><span><a href='' onclick='check(" . $q . ")'>" . $q . "</a></span></div>";
สีแดงคือ "สตริง" ที่จะถูก echo ออกไป
ส่วนสีเขียวคือโค้ด PHP
สังเำกตตรง check(" . $q . ") สิครับ
ถ้ามัน echo ออกไป มันก็จะกลายเป็น
check(ค่าของ $q)
ใช่หรือเปล่าครับ
หาก $q มีค่าเป็น 12345
PHP จะ echo check(12345) ออกมา
ซึ่งโอเค อันนี้ถือว่าเป็นจาวาสคริปต์ที่ถูกต้อง
แต่ถ้าหาก $q มีค่าเป็น 'Hello'
PHP จะ echo check(Hello) ออกมา
ซึ่งจะเป็นการหาตัวแปรชื่อ Hello ซึ่งอาจจะไม่มีอยู่จริง ณ ขณะนั้น ทำให้เกิด error
หรือถ้าแย่ไปกว่านั้น แต่ถ้าหาก $q มีค่าเป็น 'What???'
PHP จะ echo check(What???) ออกมา
ซึ่งอันนี้จะเป็นจาวาสคริปต์ที่ syntax error ไปเลย
ดังนั้นวิธีแก้คือ ต้องครอบด้วย " อีกที และใช้ htmlspecialchars() ด้วย
echo "<div id='div1'><span><a href='' onclick='check(\"" . htmlspecialchars($q) . "\")'>" . $q . "</a></span></div>";
และยังมีที่ผิดอีกคือ href ควรจะเป็น # เพราะไม่อย่างนั้นทุกครั้งที่คลิก ก็จะรีเฟรชหน้าเดิม
|
|
|
|
|
Date :
2013-04-21 13:20:32 |
By :
cookiephp |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอบคุณมากคับ ที่ช่วย
|
|
|
|
|
Date :
2013-04-21 13:42:43 |
By :
ninenine073 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 00
|