|
|
|
มือใหม่ครับ ช่วยหน่อย ส่งค่า text แบบ array โดยใช้ ajax สมมุติมีโค้ด text อยุ่ 2 อัน ไม่มี form ไม่มีปุ่ม |
|
|
|
|
|
|
|
จะนำเสนอพรุ้งนี้แล้ว ช่วยทีครับ
|
|
|
|
|
Date :
2011-12-12 21:23:24 |
By :
zxc |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ทำแบบไม่ใช้ form ทำได้ด้วยเหรอ ผมยังมือใหม่ ajax เหมือนกัน ปรกติผมใช้แต่ framework อันนี้
FRAMEWORK (framework.js)
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;
}
แล้วก็ทำ สองไฟล์อย่างที่คุณว่า
File 1 (index.php)
<!DOCTYPE html>
<html>
<head>
<script src="framework.js"></script>
<script>
function doajax() {
var data = getFormData("form1");
var URL = "array.php";
ajaxLoad('post', URL, data, 'result');
}
</script>
</head>
<body>
<div id="result">This is the result</div>
<br />
<form name="form1">
<input type="text" name="text[]" Onclick="doajax()" />
<input type="text" name="text[]" Onclick="doajax()" />
</form>
</body>
</html>
File 2(array.php)
<?php
header("Content-Type:text/plain; charset=utf-8");
foreach($_POST['text'] AS $i => $text) {
echo "value of text[$i]='$text'<br />";
}
?>
ผมทำได้อย่างงี้ แต่ไม่มีform ผมว่าใช้ framework นี้ไม่น่าได้นะ
|
ประวัติการแก้ไข 2011-12-13 05:30:31 2011-12-13 05:31:36
|
|
|
|
Date :
2011-12-13 05:29:23 |
By :
thaicloud |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 02
|