จากcodeพี่num เอามาแก้ค่ะ ช่วยหน่อยนะค่ะ คือจะมีปุ่มadd more สามารถเพิ่มชื่อคนได้อีก แล้วจะทำอย่างไรให้ปุ่มที่เพิ่มมาสามารถค้นหาได้เหมือนกันค่ะ
คือจะมีปุ่มadd more สามารถเพิ่มชื่อคนได้อีก แล้วจะทำอย่างไรให้ปุ่มที่เพิ่มมาสามารถค้นหาได้เหมือนกันค่ะ ช่วยหน่อยนะค่ะ
<?
if (isset($_GET['load'])){
header('Content-type:text/html;charset=tis-620');
$scode = $_POST['scode'];
$objConnect = mysql_connect("localhost","adminweb","pre#cise") or die("Error Connect to Database");
$objDB = mysql_select_db("leave_factory");
@mysql_query('SET PersonFNameThai TIS620');
$r = mysql_query("SELECT PersonPrefix,PersonFNameThai,PersonLNameThai FROM user_data where EmpCode='{$scode}' or pn_name='{$scode}'");
if (mysql_num_rows($r)){
$row = mysql_fetch_assoc($r);
echo '<div>';
echo '<div id="txtPersonPrefix">',htmlspecialchars($row['PersonPrefix']),'</div>';
echo '<div id="name">',htmlspecialchars($row['PersonFNameThai']." ".$row['PersonLNameThai']),'</div>';
echo '</div>';
}else{
echo '<div>';
echo '<div id="error">ไม่พบรหัส'.htmlspecialchars($scode).'</div>';
echo '</div>';
}
exit();
}
?>
<!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=windows-874" />
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=tis-620" />
<script src="jquery-latest.js" type="text/javascript"></script>
<script type="text/javascript">
/*<![CDATA[*/
$(document).ready(function(){
$('#load').click(function(){
var s = $('#scode').val();
$.ajax({
data:{scode:s},
url:'?load',
type:'POST',
dataType:'html',
success:function(data){
if ($('#error',data).size()>0){
$('#error').html($('#error',data).html());
}else{
$('#txtPersonPrefix').val($('#txtPersonPrefix',data).text());
$('#name').val($('#name',data).text());
$('#company').val($('#company',data).text());
$('#txtdiv_').val($('#txtdiv_',data).text());
}
},
error:function(){
alert('error');
}
});
});
});
/*]]>*/
</script>
<script>
function create_textboxes(){ var t_box = "<table width='100%' border='1'><tr><td>ใส่รหัส<input name='scode' type='text' id='scode' size='12' /><input type='button' name='load' id='load' value='ค้นหา' /><span id='error' style='color:red'></span></td></tr><tr><td>ชื่อ<input type='text' id='txtPersonPrefix' size='6' /><input type='text' id='name' value='' /><div id='txtnameth'></div></td></tr></table>";
document.getElementById("textbox_container").innerHTML=t_box;
}
</script>
</head>
<body>
<table width="100%" border="1" bordercolordark="#CCCCCC">
<tr>
<td>ใส่รหัส
<input name="scode" type="text" id="scode" size="12" />
<input type="button" name="load" id="load" value="ค้นหา" />
<span id="error" style="color:red"></span></td>
</tr>
<tr>
<td>ชื่อ
<input name="text" type="text" id="txtPersonPrefix" size="6" />
<input name="text" type="text" id="name" value="" />
<div id="txtnameth"></div></td>
</tr>
</table>
<input name="bntadd" type="button" id="bntadd" value="Add more" onclick="create_textboxes();" title="คลิกในกรณีออกนอกโรงงานมากกว่า1คน"/>
<div id="textbox_container"></div>
</body>
</html>Tag : - - - -
Date :
2009-06-16 14:06:14
By :
paesalee
View :
1067
Reply :
9
จาก requirement ต้องรอนานเลยครับ แหะๆ
Date :
2009-06-16 14:31:50
By :
num
ง่า จ้า ไงช่วยหน่อยละกันนะค่ะT_T
Date :
2009-06-16 14:46:59
By :
paesalee
อืม ขอบใจจ้า เดี่ยวลองทำดูก่อนนะค่ะ
Date :
2009-06-16 15:35:00
By :
paesalee
ถามหน่อยค่ะจากตัวอย่างสุดท้าย (การสร้าง input ซึ่งเปลี่ยนแปลงจำนวนได้ ร่วมกับคำสั่ง ajax ของ jquery) ถ้าจะลบตาราง(ที่มีtextbox)ที่เราสร้างใหม่ต้องทำยังไงอ่ะค่ะ แล้วเวลากดsubmit จะส่งค่าtextboxที่สร้างใหม่ ไปยังไงบ้าง(ส่งไปหน้าอื่น ส่งไปsaveค่ะ)
Date :
2009-06-16 16:31:38
By :
paesalee
ใช้คำสั่ง $(selector).remove(); ครับ อย่างเช่น $('#table1').remove();
function create_textboxes(){
gTableNum++;
var htmlData = '\n\
<table id="table'+gTableNum+'" border="1">\n\
<tr><td>\n\
scode<input type="text" name="scode[]" class="scode"\n\
onkeyup="clearAtTable(\'#table'+gTableNum+'\')" />\n\
<input type="button" class="load" value="load"\n\
onclick="loadAtTable(\'#table'+gTableNum+'\')" />\n\
<input type="button" class="remove" value="remove"\n\
onclick="$(\'#table'+gTableNum+'\').remove();" />\n\
</td></tr>\n\
<tr><td>\n\
<span class="error" style="color:red"></span>\n\
<br />name<input type="text" name="name[]" class="name" value="" />\n\
<br />faculty<input type="text" name="faculty[]" class="faculty" value="" />\n\
<br />department<input type="text" name="department[]" class="department" value="" />\n\
</td></tr>\n\
</table>';
$('#table'+(gTableNum-1)).after(htmlData);
}
Date :
2009-06-16 16:41:44
By :
num
พอมีการลบแล้วเกิด error ต้องเปลี่ยนโค้ดตรงนี้ด้วยครับ
$('#table'+(gTableNum-1)).after(htmlData);
เปลี่ยนเป็น $('#btnadd').before(htmlData);
Date :
2009-06-16 16:48:22
By :
num
พี่numค่ะ แล้วถ้าเราจะเอาค่าไปaddข้อมูลอ่ะค่ะ จากtextboxที่เราสร้างขึ้นมาจากcodeเราจะใช้$_POSTได้เลยหรือป่าวค่ะ แล้วเราจะทราบได้ยังไงว่าเป็นtextboxตัวไหน แล้วจำนวนที่กดที่เพิ่มทั้งหมดว่ามีกี่คน(จำนวนที่กดเพิ่มtextbox)เราจะรับค่ามายังไงหรอค่ะ ช่วยหน่อยนะค่ะ
Date :
2009-06-17 13:05:01
By :
paesalee
ข้อมูลอยู่ในรูปแบบนี้ครับ
//$_POST
array(5) {
["scode"]=>
array(2) {
[0]=>
string(1) "1"
[1]=>
string(1) "2"
}
["name"]=>
array(2) {
[0]=>
string(1) "A"
[1]=>
string(1) "B"
}
["faculty"]=>
array(2) {
[0]=>
string(7) "F1"
[1]=>
string(2) "F2"
}
["department"]=>
array(2) {
[0]=>
string(2) "D1"
[1]=>
string(2) "D2"
}
["submit"]=>
string(6) "submit"
}
ถ้าต้องการไล่แสดงผลข้อมูลแต่ละอันจะใช้คำสั่ง
if (isset($_GET['post'])){
foreach($_POST['scode'] as $k=>$p){
echo $_POST['scode'][$k].','.$_POST['name'][$k].'<br>';
}
exit();
}
แทน
if (isset($_GET['post'])){
echo '<pre>';
var_dump($_POST);
echo '</pre>';
exit();
}
ครับ
ส่วนจะเอาไปสร้างเป็น mysql query ยังไง
ขึ้นอยู่กับโครงสร้างตารางใน database ครับ
Date :
2009-06-17 13:47:15
By :
num
Load balance : Server 02