|
|
|
เขียน script ตรวจสอบค่าที่จะเติมลงใน text box อย่างไรครับ |
|
|
|
|
|
|
|
ผมเคยใช้ ajax ช่วยนะลองดู
|
|
|
|
|
Date :
2014-07-29 13:50:06 |
By :
raulmaster |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอดูรูปแบบเต็มครับ
|
|
|
|
|
Date :
2014-07-29 13:56:00 |
By :
Ex-[S]i[L]e[N]t |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ประมาณนี้หรือเปล่าครับ
Code (PHP)
<script language="javascript">
function fncchk(){
var a1= document.frm1.a1.value;
var a2= document.frm1.a2.value;
if(a1 < a2){
alert('คุณระบุจำนวนเกินกำหนด');
document.frm1.a2.value="";
document.frm1.a2.focus();
return false;
}
}
</script>
<form name="frm1" action="#" method="post" >
<input name="a1" type="text" id="a1" value="3" />
<input name="a2" type="text" id="a2" onkeyup="JavaScript:fncchk();"/>
</form>
|
|
|
|
|
Date :
2014-07-29 14:31:11 |
By :
namebom |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
อธิบายใหม่ดังนี้ ผมมีรายการที่จะเบิก จำนวนที่ต้องการเบิก query มาจาก DB ส่วนช่องจำนวนจ่าย ต้องลงตัวเลข โดยเงื่อนไข จำนวนจ่ายต้องไม่เกินจำนวนเบิก onkeypress แล้วให้ไปเช็ึคค่าจำนวนเบิก ทำอย่างไรครับ ขอบคุณมากๆ ครับ
|
|
|
|
|
Date :
2014-07-29 14:52:08 |
By :
pk2012 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
นี่เป็น code ที่ผมเขียนจากภาพด้านบนครับ
Code (PHP)
<form name="stockoutdata" action="save_stockoutdata.php" method="post">
$sql_invoice="select b.*,e.* from str_bill b, str_equipment e where e.eqm_id=b.eqm_id and b.bill2='$billno' order by b.set_id desc ";
$query_invoice=mysql_db_query($db,$sql_invoice);
if($num_invoice==0){
echo "ยังไม่มีรายการส่งของ";
}else{
echo "<table width='55%' cellpadding='0' cellspacing='0' border=1 bordercolor='#FFFFFF'>
<tr height='25' class='style6'>
<td width='8%' align='center'>ลำดับ</td>
<td width='42%' align='center'>รายการ</td>
<td width='10%' align='center'>จำนวนเบิก</td>
<td width='20%' align='center'>จำนวนจ่าย</td>
<td width='20%' align='center'>MFG.Date</td>
</tr>";
while ($rs_invoice=mysql_fetch_array($query_invoice)){
$mfg = $rs_invoice[eqm_date];
$set_amount = $rs_invoice[set_amount];
$eqm_exp = $rs_invoice[eqm_expire];
$qmid =$rs_invoice[eqm_id];
list($y,$m,$d)=explode('-',$mfg);
$exp = Date("Y-m-d", mktime(0,0,0,$m,$d+$eqm_exp,$y));
// $exp = date('Y-m-d', strtotime('+$eqm_exp day', strtotime($mfg)));
$bgc = ($bgc=="") ? "#FFFFF" : "";
echo "<tr height='25' bgcolor='$bgc' class='style7'>
<td align='center'>$q</td>
<td> $rs_invoice[eqm_name]</td>
<td align='center'>$set_amount</td>
<td align='center'><input type='text' name='stock_out[]' size='2' maxlength='3' onkeypress='check_number()' ></td>";
?>
<td align='center'><input type="text" name="date_mfg[]" id="dateInput<?echo $q?>" /></td>
<input type="hidden" name="qmid[]" value="<?=$qmid?>" />
<input type="hidden" name="set_amount[]" value="<?=$set_amount?>" />
<? echo "</tr>";
$q++;
}
echo "</table><p>";
?>
<input type="button" name="button" value="บันทึก" onclick="javascript: document.stockoutdata.submit();" />
<input type="button" name="button" value="ยกเลิก" onclick="javascript: document.stockoutdata.reset();" />
</label></td>
<input type="hidden" name="billno" value="<?=$billno?>" />
<?
}
?>
</td>
</tr>
</table>
</form>
|
|
|
|
|
Date :
2014-07-29 15:01:27 |
By :
pk2012 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ลองแบบนี้น่ะครับ
<form name="stockoutdata" action="save_stockoutdata.php" method="post">
$sql_invoice="select b.*,e.* from str_bill b, str_equipment e where e.eqm_id=b.eqm_id and b.bill2='$billno' order by b.set_id desc ";
$query_invoice=mysql_db_query($db,$sql_invoice);
if($num_invoice==0){
echo "ยังไม่มีรายการส่งของ";
}else{
echo "<table width='55%' cellpadding='0' cellspacing='0' border=1 bordercolor='#FFFFFF'>
<tr height='25' class='style6'>
<td width='8%' align='center'>ลำดับ</td>
<td width='42%' align='center'>รายการ</td>
<td width='10%' align='center'>จำนวนเบิก</td>
<td width='20%' align='center'>จำนวนจ่าย</td>
<td width='20%' align='center'>MFG.Date</td>
</tr>";
while ($rs_invoice=mysql_fetch_array($query_invoice)){
$mfg = $rs_invoice[eqm_date];
$set_amount = $rs_invoice[set_amount];
$eqm_exp = $rs_invoice[eqm_expire];
$qmid =$rs_invoice[eqm_id];
list($y,$m,$d)=explode('-',$mfg);
$exp = Date("Y-m-d", mktime(0,0,0,$m,$d+$eqm_exp,$y));
// $exp = date('Y-m-d', strtotime('+$eqm_exp day', strtotime($mfg)));
$bgc = ($bgc=="") ? "#FFFFF" : "";
echo "<tr height='25' bgcolor='$bgc' class='style7'>
<td align='center'>$q</td>
<td> $rs_invoice[eqm_name]</td>
<td align='center'>$set_amount</td>
<td align='center'><input type='text' name='stock_out[]' size='2' maxlength='3' onkeypress='check_number()' class='stockout' /></td>";
?>
<td align='center'><input type="text" name="date_mfg[]" id="dateInput<?echo $q?>" /></td>
<input type="hidden" name="qmid[]" value="<?=$qmid?>" />
<input type="hidden" name="set_amount[]" value="<?=$set_amount?>" />
<? echo "</tr>";
$q++;
}
echo "</table><p>";
?>
<input type="button" name="button" value="บันทึก" onclick="javascript: document.stockoutdata.submit();" />
<input type="button" name="button" value="ยกเลิก" onclick="javascript: document.stockoutdata.reset();" />
</label></td>
<input type="hidden" name="billno" value="<?=$billno?>" />
<?
}
?>
</td>
</tr>
</table>
</form>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$("input.stockout").keydown(function(){
var maximum = $(this).parent().prev().text();
if($(this).val() <= maximum)
return true;
else
$(this).val(maximum);
});
});
</script>
เพิ่มสองส่วนในโค้ดครับ
Quote:<input type='text' name='stock_out[]' size='2' maxlength='3' onkeypress='check_number()' class='stockout' />
Quote: <script src="http://code.jquery.com/jquery-latest.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$("input.stockout").keydown(function(){
var maximum = $(this).parent().prev().text();
if($(this).val() <= maximum)
return true;
else
$(this).val(maximum);
});
});
</script>
|
|
|
|
|
Date :
2014-07-29 15:14:31 |
By :
sakuraei |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ไวว๊ากกกกก
สอบถามเพิ่มเติมครับ
parent() คืออะไรครับ
prev() next() ใช้ในกรณีไหนได้บ้างครับ
|
|
|
|
|
Date :
2014-07-29 15:20:51 |
By :
Ex-[S]i[L]e[N]t |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.parent() กระโดดขึ้นไปเหนือตัวมันเอง 1 ชั้นครับ ในที่นี้หมายถึง td
.prev() ย้อน td ขึ้นไป 1 ขั้นครับ
ส่วน .next() ก็หมายถึงตัวถัดไป
|
ประวัติการแก้ไข 2014-07-29 15:58:50
|
|
|
|
Date :
2014-07-29 15:57:55 |
By :
sakuraei |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เพราะ $(this) หมายถึง textbox .stockout ครับ
ต้องย้อนขึ้น 1 step เลยใช้ .parent() เพื่อให้เจอ td
จึงเป็นที่มาของ $(this).parent().prev().text();
$(this).parent().prev().text();
input td td จำนวนเบิก
|
ประวัติการแก้ไข 2014-07-29 16:16:30
|
|
|
|
Date :
2014-07-29 16:14:01 |
By :
sakuraei |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ถ้าเป็น $(this).prev() = ย้อนกลับค่าช่อง input ที่ผ่านมา
ถ้าเป็น $(this).parent().prev().text() = input-->ยอ้นกลับ1step คือ td ---> ย้อนกลับหา tdที่ผ่านมา ---> หาค่า text
ถ้าเป็น $(this).parent().parent() = เราก็จะได้ tr ใช่มั้ยครับ
|
|
|
|
|
Date :
2014-07-29 16:22:45 |
By :
Ex-[S]i[L]e[N]t |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ใช่เลย ถ้าเป็น $(this).parent().parent() = เราก็จะได้ tr ใช่มั้ยครับ
|
|
|
|
|
Date :
2014-07-29 16:34:28 |
By :
sakuraei |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
่่่พี่เค้าตอบเร็วจังเหมือนไม่ต้องคิดเลย ช่วยผมได้เยอะๆๆๆ
|
|
|
|
|
Date :
2014-07-29 17:40:54 |
By :
cowboycnx |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 00
|