|
|
|
สอบถามการรับค่าคืนจาก AJAX เพื่อนำตัวแปรดังกล่าวมาใช้งานใน PHP ครับ |
|
|
|
|
|
|
|
สวัสดีครับ
ผมได้ลองศึกษาการรับค่าตัวแปรจาก javascript มาใช้ใน php ซึ่งไม่สามารถทำได้โดยตรง ผมเลือกทำผ่าน ajax
Code (PHP)
<script language="JavaScript">
var HttPRequest = false;
function doCallAjax() {
HttPRequest = false;
if (window.XMLHttpRequest) { // Mozilla, Safari,...
HttPRequest = new XMLHttpRequest();
if (HttPRequest.overrideMimeType) {
HttPRequest.overrideMimeType('text/html');
}
} else if (window.ActiveXObject) { // IE
try {
HttPRequest = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
HttPRequest = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {}
}
}
if (!HttPRequest) {
alert('Cannot create XMLHTTP instance');
return false;
}
var url = '../food/modules/mealtable/chkcalorie.php';
var pmeters = "tUserperweek=" + encodeURI( document.getElementById("userperweek").value) +
"&tMenu1=" + encodeURI( document.getElementById("menu1").value );
HttPRequest.open('POST',url,true);
HttPRequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
HttPRequest.setRequestHeader("Content-length", pmeters.length);
HttPRequest.setRequestHeader("Connection", "close");
HttPRequest.send(pmeters);
HttPRequest.onreadystatechange = function()
{
if(HttPRequest.readyState == 3) // Loading Request
{
document.getElementById("mySpan").innerHTML = "..";
}
if(HttPRequest.readyState == 4) // Return Request
{
if(HttPRequest.responseText == 'Y')
{
window.location = 'AjaxPHPRegister3.php';
}
else
{
document.getElementById("mySpan").innerHTML = HttPRequest.responseText;
var js = HttPRequest.responseText;
//alert (js);
}
}
}
}
</script>
โดยผมส่งค่าจากหน้าหลัก ไปยัง var url = '../food/modules/mealtable/chkcalorie.php'; เพื่อทำการคำนวณ และส่งค่ากลับ
Code (PHP)
<?php
$strUserperweek = trim($_POST["tUserperweek"]);
$strMenu1 = trim($_POST["tMenu1"]); $mmenu1 = explode ("|", $strMenu1);
$ABC = $strUserperweek - ($mmenu1[0]);
echo "$ABC";
?>
การแสดงผลด้วย <span id="myspan"></span> ที่หน้าเดิมนั้นแสดงได้ปกติ
ผมได้ทำการสร้างตัวแปร var js = HttPRequest.responseText; //alert (js); แล้วลอง alert ค่าก็ขึ้นตามปกติ
แต่ผมจะทำอย่างไรให้ค่าดังกล่าวสามารถนำมาใช้เป็นตัวแปรใน PHP ได้ครับ
รบกวนอธิบาย พร้อมยกตัวอย่างสักเล็กน้อยนะครับ
ขอบคุณทุกท่านมากครับ
Tag : PHP, JavaScript, Ajax
|
|
|
|
|
|
Date :
2012-01-17 10:08:07 |
By :
bambooblabla |
View :
4300 |
Reply :
12 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ลองสร้าง textbox สักตัวเช่น <input type="text" id="test">
var js = HttPRequest.responseText;
.//alert (js);
document.getElementById('test').value = js;
แล้วก็กด submit ลอง echo $_POST['test'];
|
|
|
|
|
Date :
2012-01-17 12:01:05 |
By :
workbythai dot com |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<input type="text" name = "test" id="test"> ลืมใส่name
|
|
|
|
|
Date :
2012-01-17 12:01:55 |
By :
workbythai dot com |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ทำตัวแปรดังกล่าว โดยไม่ต้อง submit ได้ไหมครับ เพราะตอนนี้ทำ listmenu พอทำการเลือก ค่าใน <span id="mySpan"></sapn> ก็เปลี่ยนตามอัตโนมัติ อยากเอาค่าใน <span id="mySpan"></sapn> มาใช้เลย แต่ก็รัน SQL Query ไม่ผ่าน
รบกวนด้วยครับ ขอบคุณมากครับ
|
|
|
|
|
Date :
2012-01-17 12:46:43 |
By :
bambooblabla |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
มีแบบไม่ต้องผ่าน submit ฟอร์มไหมครับ
|
|
|
|
|
Date :
2012-01-17 20:46:40 |
By :
bambooblabla |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
จุดประสงค์คุณต้องการอะไรครับ จะได้บอกถูก ^^
|
|
|
|
|
Date :
2012-01-17 20:58:16 |
By :
โปรแกรมเมอร์ฝึกหัด |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ผมทำ listmenu 21 อัน แต่ละอันชื่อ menu1.....menu21 โดยเอาที่ได้ไปรวมอัตโนมัติใน javascript
แต่ผมต้องการจะนำค่าที่รวมนี้มาใช้ในการ query แต่เอามาใช้ตรงๆไม่ได้ แลยใช้การส่งไปอีกหน้า ด้วย ajax ดังโค้ดด้านบน
แล้วให้ส่งค่ากลับมา ค่าที่ส่งมาสามารถแสดงผลได้ด้วย <span id="mySpan"></sapn>
แต่ผมต้องการนำค่าดังกล่าวมาใช้กับ PHP จึงอยากถามว่าผมต้องทำอย่างไรจึงจะสามารถดึงค่าดังกล่าวมาใช้ได้ครับ
ขอบคุณมากครับ
|
|
|
|
|
Date :
2012-01-17 22:06:13 |
By :
bambooblabla |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ใครพอจะช่วยได้ไหมครับ กับการสรา้งตัวแปรจาก ajax
|
|
|
|
|
Date :
2012-01-18 11:02:38 |
By :
bambooblabla |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ดูแล้วก็ไม่น่าจะมีปัญหาอะไร ดูตรงนี้ดีๆ ว่าถูกต้องแล้วหรือ
var url = '../food/modules/mealtable/chkcalorie.php';
|
|
|
|
|
Date :
2012-01-18 11:21:13 |
By :
ikikkok |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เอ่อ ลืมบอกอีกอย่างครับ ค่าที่ส่งมากจาก chkcalorie คือ $ABC นี่โค้ดครับCode (PHP)
<?php
// ตรวจสอบ username ซ้ำ
$strUserperweek = trim($_POST["tUserperweek"]);
$strMenu1 = trim($_POST["tMenu1"]); $mmenu1 = explode ("|", $strMenu1);
$strMenu2 = trim($_POST["tMenu2"]); $mmenu2 = explode ("|", $strMenu2);
$strMenu3 = trim($_POST["tMenu3"]); $mmenu3 = explode ("|", $strMenu3);
$ABC = $strUserperweek - ($mmenu1[0] + $mmenu2[0] + $mmenu3[0]);
echo "$ABC";
?>
ค่า $ABC ดังกล่าวนี้มาแสดงที่ หน้าหลักในส่วน <span id=mySpan></span> ครับ
ขอบคุณครับ
|
|
|
|
|
Date :
2012-01-18 13:28:39 |
By :
bambooblabla |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
มีใครเคยเจอปัญหานี้ไหมครับ ขอแนวทางแก้ไขด้วยครับ
ขอบคุณมากครับ
|
|
|
|
|
Date :
2012-01-18 19:38:55 |
By :
bambooblabla |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ท่านเอกคับ ไม่ทราบว่าตอนนี้ท่านเอกแก้ไขปัญหานี้ได้หรือยังคับ
เพราะว่าตอนนี้ปัญหาของผมนั้น เหมือนกับของท่านเอกคับ
รบกวนด้วยคับ
|
|
|
|
|
Date :
2013-07-29 14:32:36 |
By :
nutlm5135 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 03
|