จริงๆ ปัญหานี้ไปถามไว้ใน Forum ของ JQuery mobile แล้ว แต่ก็อยากฟังความเห็นเพื่อนๆ แถวนี้ด้วยครับ
ผมพยายามอัพเกรด Webapp ซึ่งทำในสมัยเรียน (ต้องทำ CSS/JS เองแบบฮาร์ดคอร์มากๆ) ซึ่งมันรันไม่ได้ หรือไม่สมบูรณ์บนมือถือ ต่อมาผมพยายามสร้าง UI ของมันใหม่ด้วย JQuery mobile และ แก้ไข JS ให้รันด้วย Jquery ครับ ซึ่งทุกอย่างทำงานได้ดีมาก ทั้งบน Chrome และ FF รวมถึงมือถือ Android / Nokia browser / Opera mobile ด้วย แต่มันไม่รันบน WP7.5 Mango / IE9
ตัว App จะทำแค่เก็บข้อมูลในฟอร์มมาคิดตามสมการ เท่านั้นเอง ผมใช้ .serialize() ของ JQuery ในการเก็บข้อมูลในแต่ละ element แต่คำสั่งนี้มันไม่ทำงานใน IE9 ครับ โดยเฉพาะเมื่อมี JQuery mobile ผมลอง unload Jquery mobile ตัว script ก็ทำงานเป็นปรกติครับ ไม่มีปัญหา (แต่หน้าตาไม่สวย)
ผมเรียงส่วน หัวไว้แบบนี้
<.html>
<.head>
<.title>Dietitian.in.th<./title>
<.meta name="viewport" content="width=device-width, initial-scale=1">
<.link rel="stylesheet" href="http://code.jquery.com/mobile/1.0/jquery.mobile-1.0.min.css" />
<.script src="http://code.jquery.com/jquery-latest.js"><./script>
<.script src="mainscript.js"><./script>
<.script src="jquery.mobile-1.0.min.js"><./script>
<.script src="mdcal.js"><./script>
<.script>$(document).ready(function() {$("#Calculate").bind('tap', function() {mdWt();})}<./script>
<./head>
พอฝัง Code บางส่วนไว้ใน ตัวเพจ html เลย มันก็จะรันได้นะครับ แต่เฉพาะครั้งแรกที่โหลดเว็บ (มี alert หรือขึ้นใน console.log) แล้วก็จะไม่ทำงานเหมือนเดิม
ตัวอย่างโค๊ดที่ฝังไว้
<.code>
<.script>function showValues() {var str = $("form").serialize();alert(str);$("#results").text(str); } $(":checkbox, :radio").click(showValues); $("select").change(showValues); showValues();<./script>
<./code>
<./body>
<./html>
<./code>
มีคำแนะนำในการแก้ปัญหาไหมครับ
ถ้าใน forum ของ jquery เองยังไม่มีคำตอบให้ก็คงต้องกุมขมับแล้วพูดว่า เขียนส่วน serialize เองครับ :)
{syntaxhighlighter SPEC}{/syntaxhighlighter}
เกี่ยวมั้ย
รันได้จริงๆ ด้วยครับ แปลกดีจัง ... แต่ UI ของผมนี่เละเป็นโจ๊กเลย