|
|
|
ช่วยแนะนำด้วยครับการใช้งาน AJAX มือใหม่ยังงงอยู่ครับ |
|
|
|
|
|
|
|
ใช้ javascript framework ตัวไหนเปล่าครับ
หรือไม่ได้ใช้แล้วคุณเขียนแค่นั้น ?
เพราะจริงๆแล้วการเขียน Ajax แบบลูกทุ่งมันยาวมากๆ และต้องทำความเข้าใจก่อน ไม่ใช่ว่าเรียกง่ายๆแล้วจบ
|
|
|
|
|
Date :
2011-05-04 10:10:35 |
By :
oxygenyoyo |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
มีครับพี่มีใช้framework อยู่ครับ
Code (PHP)
function ajaxLoad(method, URL, data, displayId) {
var AJAX = null;
if(window.ActiveXObject) {
AJAX = new ActiveXObject("Microsoft.XMLHTTP");
}
else if(window.XMLHttpRequest) {
AJAX = new XMLHttpRequest();
}
else {
alert("Your browser doesn't support AJAX");
return;
}
method = method.toLowerCase();
URL += "?dummy=" + (new Date()).getTime();
if(method=="get") {
URL += "&" + data;
data = null;
}
AJAX.open(method, URL);
if(method=="post") {
AJAX.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
}
AJAX.onreadystatechange = function() {
if(AJAX.readyState==4 && AJAX.status==200) {
var ctype = AJAX.getResponseHeader("Content-Type").toLowerCase();
ajaxCallback(ctype, displayId, AJAX.responseText);
delete AJAX;
AJAX = null;
}
}
AJAX.send(data);
}
function ajaxCallback(contentType, displayId, responseText) {
if(contentType.match("text/javascript")) {
eval(responseText);
}
else {
if(displayId==null) {
return;
}
var el = document.getElementById(displayId);
el.innerHTML = responseText;
}
}
function getFormData(form_name_or_id) {
var frm = document.forms[form_name_or_id];
if(frm==null) {
alert("Form: '" + form_name_or_id + "' not found!");
return;
}
var data = "";
var num_el = frm.elements.length;
for(i=0; i<num_el; i++) {
var el = frm.elements[i];
if(el.name=="" && el.id=="") {
continue;
}
var param_name = "";
if(el.name!="") {
param_name = el.name;
}
else if(el.id!="") {
param_name = el.id;
}
var t = frm.elements[i].type;
var value = "";
if(t=="text"||t=="password"||t=="hidden"||t=="textarea") {
value = encodeURIComponent(el.value);
}
else if(t=="radio"||t=="checkbox") {
if(el.checked) {
value = encodeURIComponent(el.value);
}
else {
continue;
}
}
else if(t=="select-one") {
value = encodeURIComponent(el.options[el.selectedIndex].value);
}
else if(t=="select-multiple") {
for(j=0; j<el.length; j++) {
if(el.options[j].selected) {
if(data!="") {
data += "&";
}
data += param_name + "=";
data += encodeURIComponent(el.options[j].value);
}
}
continue;
}
if(data!="") {
data += "&";
}
data += param_name + "=" + value;
}
return data;
}
|
|
|
|
|
Date :
2011-05-04 10:18:53 |
By :
mos |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
มันมีทั้งหมด 3 ไฟล์ครับที่เกี่ยวข้องกัน
Code (PHP)
<?php
$num = $_GET['num'];
$result = "";
if(!is_numeric($num)) {
$result = "ค่าที่ใส่ไม่ใช่ตัวเลข";
}
else if($num%2 == 0) {
$result = "$num เป็นเลขคู่";
}
else {
$result = "$num เป็นเลขคี่";
}
//เนื่องจากผลลัพธ์ที่จะส่งกลับมีอักขระภาษาไทยด้วย จึงต้องกำหนด charset เป็น tis-620
header("Content-Type:text/plain; charset=tis-620");
echo $result;
?>
|
|
|
|
|
Date :
2011-05-04 10:58:00 |
By :
mos |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
กระทู้ผมเงียบเหงาจังครับขออัพทีนึง
|
|
|
|
|
Date :
2011-05-04 15:19:40 |
By :
mos |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ช่วยแนะนำด้วยครับ
|
|
|
|
|
Date :
2011-05-05 09:33:56 |
By :
mos |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ลองใช้ Ajax ด้วย Jquery หรือยังครับเขียนสั้นนิดเดียว
Ajax by Jquery
|
|
|
|
|
Date :
2011-05-05 15:53:30 |
By :
naskw |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอบคุณพี่peterXPและพี่anu ที่ช่วยแนะนำให้แนวทาง ตอนนี้ผมมั่วๆจนได้แล้วละครับแก้โดยที่ผม ไปเพิ่มtext
ในไฟล์นี้แค่นี้มันก็โชว์text พร้อมค่าในหน้าที่ผมต้องการแล้วครับ มึนอยู่ตั้งหลายวันเขียนโปรแกรมมันสนุกอย่างนี้นี่เอง
Code (PHP)
<?php
$num = $_GET['num'];
$result = "";
if(!is_numeric($num)) {
$result = "ค่าที่ใส่ไม่ใช่ตัวเลข";
}
else if($num%2 == 0) {
$result = "$num เป็นเลขคู่";
}
else {
$result = "$num เป็นเลขคี่";
}
//เนื่องจากผลลัพธ์ที่จะส่งกลับมีอักขระภาษาไทยด้วย จึงต้องกำหนด charset เป็น tis-620
header("Content-Type:text/plain; charset=tis-620");
echo $result;
<input type="text" name="txtnum" value="<? echo $num ?>">
?>
|
|
|
|
|
Date :
2011-05-06 10:49:25 |
By :
mos |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 00
|