 |
งงครับ เกี่ยวกับเรื่องการส่งค่า มาบันทึก แบบ ajax |
|
 |
|
|
 |
 |
|
งงกับคำถามครับCode (PHP)
<?php session_start(); ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<script language="JavaScript">
var HttPRequest = false;
function doCallAjax(Mode) {
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 = 'test2.php';
var pmeters ="&tName=" + encodeURI( document.getElementById("txtName").value) +
"&tUsername=" + encodeURI( document.getElementById("txtUsername").value) +
"&tPassword=" + encodeURI( document.getElementById("txtPassword").value) +
"&Mode="+ Mode;
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 = "Now is Loading...";
}
if(HttPRequest.readyState == 4) // Return Request
{
document.getElementById("mySpan").innerHTML = HttPRequest.responseText;
document.getElementById("txtName").value = '';
document.getElementById("txtUsername").value = '';
document.getElementById("txtPassword").value = '';
document.getElementById("txtFirst_name").value = '';
document.getElementById("txtPosition").value = '';
document.getElementById("txtAddress").value = '';
document.getElementById("txtEmail").value = '';
document.getElementById("txtTel").value = '';
document.getElementById("txtDate_account").value = '';
}
}
}
</script>
</head>
<body>
<form name="frmMain"><input type="hidden">
<table width="500">
<tr>
<td><b>Name:</b></td><td><input type="text" name="txtName" id="txtName" >
</td>
</tr>
<tr>
<td width="89"><b>Username:</b></td>
<td width="460"><input type="text" name="txtUsername" id="txtUsername"><font color="#FF0000" size="2">**</font> </td></tr> <tr>
<td><b>Password:</b></td><td><input type="password" name="txtPassword" id="txtPassword"> <font color="#FF0000" size="2">**</font> </td></tr>
<tr><td></td><td><input name="Button" type="button" id="search-submit" OnClick="JavaScript:doCallAjax('ADD');" value="SAVE"><input type="reset" id="search-reset" value="RESET"></td>
</tr></table>
</form>
ค่าที่คุณส่งไปเืมื่อกี้คือ <div id="mySpan"></div>
</body>
</html>
test2.php
Code (PHP)
[php]<?php
if ($_POST['Mode'] == 'ADD'){
echo $_POST['tName'];
echo $_POST['tUsername'];
echo $_POST['tPassword'];
}
?>
[/php]
|
 |
 |
 |
 |
Date :
2010-06-12 12:46:21 |
By :
ความรู้เท่าหางอึ่ง |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
คือที่ผมงงอะครับ โดยปกติแล้วเราส่งค่าไปให้อีก Page เพื่อให้แสดงค่าใช้ป่าว
ครับ แต่ทีนี้ ผมได้ส่งไปแล้ว แล้วลอง echo ดู ดันไม่มีค่าที่ส่งไปแสดงเลย เลยงงว่าผิดตรงไหนครับ
|
 |
 |
 |
 |
Date :
2010-06-12 13:09:21 |
By :
SOUL |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
มันก้อส่งนี่ครับ ที่ผมแนบตัวอย่างไป แล้วทีนี้อยู่ที่คุณจะนำมันไปทำงานในไฟล์ที่ส่งไป แล้วพอประมวลผลเสร็จค่อยคืนค่ามาที่หน้าเดิม ตรง <div id = "mySpan"></div> เพื่อแสดงผล
หรือผมเข้าใจที่คุณ อธิบาย ผิดครับ
|
 |
 |
 |
 |
Date :
2010-06-12 13:16:58 |
By :
ความรู้เท่าหางอึ่ง |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
คุณใช้ ajax เป็นตัวส่งข้อมูลของฟอร์มใช่ไหมครับ แล้ว ตอนนี้เมื่อมีการกดปุ่ม ปุ่มจะเรียกคำสั่ง doCallAjax มาทำงานใช่ไหมครับ แต่ที่ผมดูแล้วคำสั่งมันไม่ทำงาน คุณ SOUL ลองเอาตัวนี้ไปดัดแปลงดูสิครับ(ได้ต่อมาอีกทีครับ)
javascript นะครับ
<script language="javascript" src="js/jquery-1.2.6.min.js"></script>
<script type="text/javascript">
$(function(){
$("input#Send").click(function(){
var url="test.php"; // ไฟล์ที่ต้องการรับค้า
var dataSet={ name: $("input#name").val(), email: $("input#email").val() }; // กำหนดชื่อและค่าที่ต้องการส่ง
$.post(url,dataSet,function(data){
alert("แจ้งเเมื่อทำการส่งข้อมูลเรียบร้อยแล้ว");
});
});
});
</script>
ฟอร์มครับ
<form id="form1" name="form1" method="post" action="">
<p>ชื่อ
<input type="text" name="name" id="name" />
<br />
อีเมลล์
<input type="text" name="email" id="email" />
<br />
<input type="button" name="Send" id="Send" value="Send" />
</p>
</form>
หน้ารับข้อมูลครับ
<?php
if(isset($_POST['name']) && $_POST['name']!=""){
echo $_POST['name']; // ตัวอย่าง
}
?>
|
 |
 |
 |
 |
Date :
2010-06-12 13:31:50 |
By :
Dragons_first |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ได้แล้วครับ สิ่งที่ผมผิดคือ การกำหนด เรื่องของ Type ของปุ่มครับ ถ้าเป็นการ submit จะไม่สามารถทำงานได้ครับ แต่ว่าถ้าเป็นรูปแบบ ของ buttom สามารถทำงานได้ครับ ขอบคุณนะครับ
|
 |
 |
 |
 |
Date :
2010-06-12 13:57:44 |
By :
SOUL |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
|
|