ต้องการทำ ฟร์อมรับข้อมูล จากtextbox กรอกข้อมูล ลงไปได้ และสามารถ browse เลือกข้อมูลได้ โดยการแสดง popup ขึ้นมา แล้วแตะต้องหน้าข้างหลังไม่ได้
วอน ท่านผู้รู้ พอจะมีโค้ดตัวอย่างไหม ค่ะ
ขอบคุณล่วงหน้าเป็นอย่างสูง จร้า
Date :
2012-11-08 06:11:28
By :
amjang22
ผมทำตัวอย่างโค้ดไว้ให้ ลองไปดาวโหลดดูได้ที่
http://mineinc.net/qa/file/2012/11/8/file1.html
ถ้าเพิ่งเริ่มศึกษา jQuery โค้ดอาจะดูซับซ้อนนิดหนึ่งนะครับ
ลองใช้เวลาศึกษาไปเรื่อยๆ อีกสักพักก็จะเข้าใจเอง
ปล. พื้นฐานเป็นสิ่งสำคัญ
Date :
2012-11-08 08:09:27
By :
dreamlover
+1 ปล. พื้นฐานเป็นสิ่งสำคัญ
Date :
2012-11-08 10:00:01
By :
Joe_Dev
ขอคุณมากๆๆ ค่ะ งั้นเด๋วขอลอง เอามาเทสก่อนนะค่ะ
Date :
2012-11-08 14:14:31
By :
amjang22
ขอโทษ จริงค่ะ เพิ่งจะมาเรียนรู้ เรื่องนี้ บางครั้งมองโค้ดก็ยัง เดาผิดเดาถูก แต่สัญญาว่าจะศึกษาให้เก่งให้ได้
^__^
เข้าเรื่องเลยค่ะ
คือว่า โค้ดที่ได้มา เอามา เทส ก็โอเคร ค่ะ แต่ปัญหามีอยู่ว่า เมื่อช่อง textbox รับค่ามาจาก browse แล้ว เมื่อ ช่อง txtbox มีการเปลี่ยนแปลง
ควรที่จะเป็นไปตาม เงื่อนไข ที่วางไว้คือ
- ถ้าตรงกับข้อมูลที่มีในฐานข้อมูล ให้แสดง ข้อมูลที่เหลือ ในช่อง textbox ที่กำหนดไว้
- ถ้าไม่ใช่ ให้ แจ้งว่า ข้อมูลนี้ไม่มีอยู่ในฐานข้อมูล
ซึ่ง ตอนนี้ ถ้า กรอกข้อมูลลงไปใน textbox โดยที่ไม่ทำการ browse แล้ว มันสามารถเป็นไปตามเงื่อนไขที่กำหนด แต่ถ้าเลือกจาก browse แล้ว ไม่มีอะไรเกิดขึ้นเลย
ก็เลย อยากรู้ว่า มันเอามา ผสมผสานกันยังไง
ความจริงก็ นั่งคิดมา พักใหญ่แล้วค่ะ ลองผิดลองถูกแต่ RUN ไม่ออก
ก็เลยตัดสินใจ ถาม รบกวนหน่อยนะค่ะ
นี่เป็น สคริป และ ฟร์อมที่ใช้ ค่ะ
Code (PHP)
<script type="text/javascript">
$(document).ready(function(){
$("#AssetID").change(function(){
$("#assetID").empty();
$.ajax({
url: "11.php" ,
type: "POST",
data: 'asetID=' +$("#AssetID").val()
})
.success(function(result) {
var obj = jQuery.parseJSON(result);
if(obj == '')
{
$('input[type=text]').val('');
$("#assetID").html(" <font color='red'> ไม่มีรหัสนี้ ในฐานข้อมูล</font>");
}
else
{
$.each(obj, function(key, inval) {
$("#AssetID").val(inval["ID"]);
$("#AssetName").val(inval["Name"]);
}
);
}
});
});
});
</script>
<body>
<table border="1" align="center" cellpadding="5" cellspacing="0">
<tr><td colspan="2" bgcolor="#B1CEED"><h2><strong>Request Problem</strong></h2></td></tr>
<tr>
<td width="124"><strong>ID </strong></td>
<td width="256"><input name="id" type="text" value="" />
</td></tr>
<tr>
<td><strong> Date
</strong></td><td><input name="date_req" type="text" />
</td></tr>
<tr>
<td width="124"><strong> Store ID
</strong></td><td width="256"><input name="StoreID" type="text" value=""/>
</td></tr>
<tr>
<td><strong> Asset ID</strong></td>
<td>
<input name="AssetID" id="AssetID" type="text" value=""/>
<input type="button" id="browse" value="Browse" />
<font color="#FF0000">*</font>
<span id="assetID"></span>
<div id="reference">
<div id="display">
<ul id="list"></ul>
</div>
</div>
</td></tr>
<tr>
<td><strong> Asset Name</strong></td>
<td>
<input name="AssetName" id="AssetName" type="text" value="" disabled="disabled"/>
</td></tr>
<tr>
<td><strong> Status
</strong></td><td><input name="Status" type="text" />
</td></tr>
<tr>
<td> <strong>Problem</strong></td>
<td><textarea name="Problem" cols="50" rows="5"> </textarea>
</td></tr>
<tr><td colspan="2" align="center">
<input type=button onClick="window.history.back()" value="Cancel">
<input type="submit" value="Submit"/>
<input type="hidden" name="action" value="<?=$value?>" />
<input type="hidden" name="edit" value="<? echo $id_edit?>" />
</td></tr>
</table>
</body>
ส่วนนี่เป็น ไฟล์ ที่ action ไป
Code (PHP)
<?
$objConnect = mysql_connect("localhost","root","123") or die(mysql_error());
$objDB = mysql_select_db("db_ucerin");
mysql_query("SET NAMES utf8");
$strSQL = "SELECT * FROM tblasset WHERE 1 AND ID = '".$_POST["asetID"]."'";
$objQuery = mysql_query($strSQL) or die (mysql_error());
$intNumField = mysql_num_fields($objQuery);
$resultArray = array();
while($obResult = mysql_fetch_array($objQuery))
{
$arrCol = array();
for($i=0;$i<$intNumField;$i++)
{
$arrCol[mysql_field_name($objQuery,$i)] = $obResult[$i];
}
array_push($resultArray,$arrCol);
}
mysql_close($objConnect);
echo json_encode($resultArray);
?>
Date :
2012-11-08 16:39:03
By :
amjang22
ที่ผมทำให้เป็นโค้ดด้าน Front End (jQuery, javascript) ใช้ช่วยเสริมด้านปฏิกริยาโต้ตอบกับผู้ใช้งาน
ตามเงื่อนไขที่คุณให้มาเพิ่มจะเป็นเรื่องของ Back End (PHP) เป็นโค้ดหรือสคริปที่ใช้ติดต่อกับฐานข้อมูล
ส่วนนี้ผมไม่ชำนาญครับ
ลองตั้งกระทู้ใหม่ดูครับ มีผู้เชี่ยวชาญ PHP อยู่ที่นี่หลายคน สามารถให้คำตอบได้ดีกว่าผมมาก
Date :
2012-11-08 17:28:24
By :
dreamlover
โอเคร ค่ะ ขอบคุณนะ
Date :
2012-11-08 17:38:13
By :
amjang22
Load balance : Server 01