Google




ทำไม IE7 ปัญหามันเยอะแบบนี้ฟร่ะ …….

จริง ๆ ว่าหลังปีใหม่กะจะเขียน blog สักวันละ 1 - 2 ตอนเป็นอย่างน้อย ๆ แต่ว่ามันก็ทำลำบาก เพราะช่วงอาทิตย์นี้ต้องปั่นงานส่งอาจารย์หลายชิ้นด้วยกัน ซึ่งเอาตัว Framework ที่เราทำมาทดสอบ ซึ่งก็เป็นไปได้ดีไอเดียในการทำและลำดับการทำงานเป็นไปตามที่ต้องการเกือบทั้งหมด แต่ก็มีการปรับแต่งบ้างตามความผิดพลาดที่เกิดขึ้น

แต่ปัญหาหลักคือ JavaScript บางตัวกลับไม่สามารถทำงานได้อย่างถูกต้องใน IE 7 ซึ่งผมแปลกใจมากว่าทำไม อย่างเช่นการ return false; ใน confirm Event ของ JavaScript ที่มันไม่ยอม Cancel ให้

HTML:
  1. <form method="get" action="http://www.google.com">
  2. <input onclick="return confirm('Goto Google');" value="Goto Google" type="submit" />
  3. </form>

จากโค้ดด้านบนนี้ถ้าใน IE7 จะ OK หรือ Cancel มันก็จะเข้าเว็บ Google.com แต่ใน Firefox นี่ทำงานถูกต้อง โดยเจ้า Confirm Event ของ JavaScript มันจะ return Boolean ที่เป็น true กับ false ลองมาปรับเปลี่ยนใหม่อีกนิดให้แน่ใจไปเลยว่า return false; มันใช้งานไม่ได้จริง ๆ

HTML:
  1. <form method="get" action="http://www.google.com">
  2. <input onclick="return false;" value="Goto Google" type="submit" />
  3. </form>

จากด้านบนนี่กดยังไง มันก็ไม่มีทางที่จะ submit ได้แน่ ๆ แต่นี่ใน IE7 มันหน้าด้าน submit ได้อีก -_-' ไว้ฟร่ะ ...... เซง ๆๆๆ ทางแก้ที่โคตรจะกำปั้นทุบดินเลยก็คือตรวจเช็ค Browser แล้วเอา จนได้แบบนี้

HTML:
  1. <script type="text/javascript">
  2.     if(confirm("Goto Google"))
  3.         return true;
  4.     else {
  5.         if(navigator.appName == "Microsoft Internet Explorer") window.event.returnValue=false;
  6.         else return false;
  7.     }
  8. }
  9. </script>
  10. <form method="get" action="http://www.google.com">
  11. <input onclick="return validForm();" value="Goto Google" type="submit" />
  12. </form>

เฮ้อ ..... ต้องมานั่งเช็คก่อนอีกว่าเป็น IE หรือเปล่าถ้าใช่ก็ใช้ event ของ IE เองในการ return false; ออกไปแทน แล้วถ้้าวันหนึ่ง appName ของ IE มันไ่ม่ใช่ "Microsoft Internet Explorer" ก็ต้องมานั่งแก้ใหม่อีกหรือไงฟร่ะ .......

เฮ้อ ...... เหนื่อยกับอะไรที่มันไร้สาระจริง ๆ ทำอะไรให้มันเหมือนชาวบ้านเค้าหน่อยไม่ได้หรือไง Microsoft !!!

Related Posts


3 Responses to “ทำไม IE7 ปัญหามันเยอะแบบนี้ฟร่ะ …….”


  1. 1 pittaya

    ทำแบบนี้ผมว่ามันไม่ค่อยสวยเท่าไหร่นะครับ
    ลองใช้พวก library ตัวอื่นช่วยดีกว่ามั้ย อย่างพวก prototype หรือ dojo
    ตอนนี้ผมดู jquery อยู่ ก็ท่าทางใช้ได้ดี

  2. 2 kaze

    ลอง return 0, null และ “” หรือยังครับ

  3. 3 v

    javascript src ก็ทำให้หน้านั้นไม่แสดงด้วยครับ ว่างเปล่า ไปเลย

Leave a Reply

This is a captcha-picture. It is used to prevent mass-access by robots. (see: www.captcha.net)

You must read and type the 5 chars within 0..9 and A..F, and submit the form.

  

Oh no, I cannot read this. Please, generate a






Close
E-mail It