ดูให้หน่อยครับ ajax ครับ ขอบคุณครับ
<script type="text/javascript">
alert('x');
var obj=document.frm;
var doPage = function(xhr){
alert('Y');
document.getElementById("divPage").innerHTML= xhr.responseText;
xhr.responseText.evalScript();
};
var chk_search = function(){
if(obj.text.value.length==0){alert("กรุณากรอกสิ่งที่ต้องการค้นหา");obj.text.focus();return false;}
obj.status.value="search";
obj.submit();
new GForm('frm','',true,'').onsubmit(doPage);
};
$G('search').addEvent('click', chk_search);
</script>
ผมลองใช้โค้ดนี้เขียน ไว้ในหน้า โดยที่ใช้ ajax เรียกมาใช้งานก่อนแล้ว แล้วมันติดปัญหาตรงที่ มันไม่เข้าฟังชั่น doPage ครับ แต่ถ้าใช้ในหน้าแรกเลยก็จะได้ครับ ไม่รู้ว่าจะต้องแก้ไขตรงไหนบ้างครับ
ขอบคุณครับ
search ด้วย ก็คงไม่ทำงานหรอคับเพราะเมื่อเราเรียกหน้า search แบบ ajax มันจะมอง tag javascript เป็น text ธรรมดา
ต้องเอา javascript ไปไว้หน้าแรกนะคับ
ผมใช้คำสั่งนี้ เพื่อให้ javascript มันใช้งานได้แล้วอะครับ ตอน alert('x'); มันก็ alert ซึ่งแสดงว่า javascript ใช้งานได้ตามปกติครับ ขอบคุณครับ
ดูบทความเลยครับ มีเขียนไว้
ตรงคำสั่ง นี้มันไม่ทำงานอะครับ
new GForm('frm','',true,'').onsubmit(doPage);
แก้ยังไงดีครับ ขอบคุณครับ
แต่อันนี้ไม่รู้จริงๆ นะคับต้องให้อาจารย์ผู้เขียน frame work มาตอบละคับ อิอิ
if(obj.text.value.length==0){alert("กรุณากรอกสิ่งที่ต้องการค้นหา");obj.text.focus();return false;}
obj.status.value="search";
obj.submit();
new GForm('frm','',true,'').onsubmit(doPage);
};
ตรงนี้อาจจะมีปัญหานะ ไม่รู้โครงสร้างของเว็บหรือของฟอร์ม เลยไม่สามารถตอบแบบตรงๆได้
ลอง
alert('z');
new GForm('frm','',true,'').onsubmit(doPage);
เพื่อตรวจว่ามันมาถึง GForm หรือไม่ ถ้ามี alert แสดงว่า ทุกอย่างถูกต้องแล้ว
frm เป็นอะไร ถ้าใส่ 'frm' จะต้องเป็น id ถ้าใส่ frm จะเป็น name กำหนดให้ถูก
ลองให้ doPage อยู่ที่ Javascript หลักครับ แล้วไปทดสอบ alert ใน doPage ดูว่ามันไปทำงานถึงในนั้นมั้ย
ถ้าไม่ได้ ลองส่งโค้ดให้ผมทาง email หรือ msn ดู แต่พยายามทดลองให้ถึงที่สุดก่อนนะครับ ถ้าเข้าใจหลักการมันได้มันจะใช้ได้ง่ายมากเลย
new GForm('frm','',true,'').onsubmit(doPage);
มันจะไม่ทำงานอะครับ ลองใช้ submit แบบปกติ ก็ทำงานปกตินะครับ
ต้องทำไง ถึงจะใช้ javascript submit ได้อะครับ
**ผมใช้คำสั่งนี้ในการ submit นะครับ frm.submit();
ขอบคุณครับ
ผมไ่ม่รู้ว่าเขียนไว้อย่างไร รวมถึง ทดสอบก็ไม่ได้ด้วย ทำให้ไม่สามารถตอบคำถามได้ รวมถึงไม่รู้ว่าได้ตรวจสอบ ตามคำตอบที่ #6 แล้วหรือยัง บางครั้งก็เส่นผมบังภูเขาครับ ยกตัวอย่าง
ถ้าไม่มีรูปรอโหลดสำหรับฟอร์ม parameter ตัว ที่ 2 และ 3 ก็ไม่ต้องใส่ (แค่ผมแนะนำให้ใส่ เพราะมันจะช่วยให้เรารู้ว่ามันทำงานหรือไม่ได้) parameter ที่ 4 ก็เช่นกัน ถ้าไม่มีไม่ต้องใส่อะไรไปเลย
new GForm('form_id').onsubmit(doPage);
ส่วนการใช้ Javascript ในการ submit อาจมีข้อจำกัด ซึ่งผมไม่แน่ใจนัก แต่ผมไม่มีโค้ด เลยไม่ได้ทดสอบวิธีนี้ และดูเหมือนจะเคยเขียนบทความนี้ไว้แล้ว (แต่หาไม่เจอ 555+++)
ได้แล้วครับ ขอบคุณครับ สำหรับคำตอบ และบทความดีๆ
ตกลงทำไง หรือแก้ไข ตรงไหน อธิบายไว้บ้างก้ดีนะ....
ผมทำตามบทความนี้ครับ สร้างปุ่ม submit แล้ว hiddden ไว้ เมื่อคลิก button แล้วใช้ javascipt สั่งให้ คลิกปุ่ม submit
ซึ่งทำให้ คำสั่งนี้ทำงาน เมื่อ submit ครับ new GForm('frm','',true,'').onsubmit(doPage);
var doPage = function(xhr){
document.getElementById("divPage").innerHTML= xhr.responseText;
xhr.responseText.evalScript();
};
new GForm('frm','',true,'').onsubmit(doPage);
var checkform = function(){
var checkvar = frm;
var check = "";
for (i = 0; i < checkvar.elements.length; i++) {
if (frm.elements[i].checked){
check = "Y";
break;
}
}
if (check==""){
alert("กรุณาเลือก CheckBox");
event.returnValue=false;
}
else
{
if(confirm('ยืนยันการลบข้อมูล'))
{
frm.status.value="del";
frm.del.click();
}
}
};
$G('Submit3').addEvent('click', checkform);