|
|
|
ช่วยแก้ปัญหา Datetimepicker ให้ที อยากให้เลือกDatetimepicker แล้วคำนวณอัตโนมัติครับ |
|
|
|
|
|
|
|
คือผมใช้ datetimepicker ในการเลือกวันที่เริ่มต้น และวันที่สิ้นสุด ลงในช่อง textfield ทั้งวันที่เริ่ม และวันที่สิ้นสุด
พอเลือกวันที่เริ่มต้นเเละวันที่สิ้นสุดเสร็จ ผมก็จะไปเลือกตำเเหน่งจาก list menu ขณะที่กดเลือกตำเเหน่ง
ช่อง textfield ที่3 จะคำนวณวันจองว่าจองไปกี่วัน โดยเอาวันที่สิ้นสุดลบกับวันที่เริ่มต้น และพอผมเลือกตำเเหน่งเสร็จแล้ว
ราคาต่อวันจะขึ้นมาในช่อง textfield4 และราคาทั้งหมดก็จะเปลี่ยนอัตโนมัติลงในช่อง textfield5 เเละถ้าผมเปลี่ยนตำเเหน่งอีก
ราคาต่อวัน และก็ราคาทั้งหมดก็จะเปลี่ยนอีก คือถ้ากดเลือกตำเเหน่งที่ list menu ราคาต่อวัน และราคาทั้งหมดเปลี่ยนอัตโนมัติแล้วอะครับ
เเต่ถ้าผมย้อนกลับไปเลือกวันที่ใหม่อีกครั้ง มันจะไม่คำนวณให้ผมอัตโนมัติอะครับ ผมอยากรู้ว่าต้องเเก้ไขยังไง ใครรู้ช่วยผมทีนะครับ
พี่ๆ น้องๆ ทั้งหลายที่เทพๆ หรือช่วยแก้ไขได้ กรุณามาช่วยผมตอบที่นะครับ
นี่คือโค้ดที่ผมเขียนครับ
------------------------------------------------------------------------------------------------------------------------------------------------------
Code (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" />
<!--------------------------------function validateF ของโต้ง------------------------------------------------------>
<script language="JavaScript" type="text/JavaScript" >
function validateF(){
var theForm = document.memberadd;
var StartDate = theForm['StartDate'].value;
var StartDateArr = StartDate.split("/");
var StartDateF = new Date(StartDateArr[2],StartDateArr[1],StartDateArr[0]);
var StopDate = theForm['start'].value;
var StopDateArr = StopDate.split("/");
var StopDateF = new Date(StopDateArr[2],StopDateArr[1],StopDateArr[0]);
if (StopDateF <= StartDateF){
alert('กรุณาเลือกวันที่จองให้มากกว่าวันที่ปัจจุบัน');
event.returnValue = false;
}/*else{
alert('นี่แหล่ะสิ่งที่มันควรจะเป็น อุอุ');
}*/
}
</script>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="stylesheet" type="text/css" media="screen" href="css/custom-styles.css" />
<script type="text/javascript" src="js/jquery-1.3.2.js"></script>
<script type="text/javascript" src="js/jquery.validate.js"></script> <!--validate -->
<script type="text/javascript" src="js/jquery.start.js"></script>
<!--<script language="JavaScript">
//โค้ด คำนวนวัน
function chk(){
var a1=parseFloat(document.memberadd.enddate.value);
var a2=parseFloat(document.memberadd.begindate.value);
var docfile1=parseFloat(document.memberadd.docfile.value);
document.memberadd.d.value=(a1-a2)*docfile1; //---- เปลี่ยนเอาจะ + - * /
}</script>-->
<SCRIPT language="javascript" type="text/javascript">
function TimeDriff() {
var docfile;
var diff;
var start = new Array(3);
var end = new Array(3);
var st = document.getElementById('start').value;
var en = document.getElementById('end').value;
//Thai DateFormat 2011/08/15 - YYYY/MM/DD
//Split Start -> Date/Month/Year
start[0] = st.substr(8,2);
start[1] = st.substr(5,2);
start[2] = st.substr(0,4);
//Split End -> Date/Month/Year
end[0] = en.substr(8,2);
end[1] = en.substr(5,2);
end[2] = en.substr(0,4);
end[1] -= 1;
start[1] -= 1;
StratDate = new Date( );
EndDate = new Date( );
StratDate.setDate(start[0]);
StratDate.setMonth(start[1]);
StratDate.setFullYear(start[2]);
EndDate.setDate(end[0]);
EndDate.setMonth(end[1]);
EndDate.setFullYear(end[2])
if(StratDate.getTime( ) < EndDate.getTime( ))
{
diff = EndDate.getTime( ) - StratDate.getTime( );
diff = Math.floor(diff / (1000 * 60 * 60 * 24));
var docfile1=parseFloat(document.memberadd.docfile.value);
document.memberadd.d.value=diff*docfile1;
}
else if(EndDate.getTime( ) < StratDate.getTime( ))
{
alert(diff+"วันที่สิ้นสุดห้ามน้อยกว่าวันที่เริ่มต้น");
diff = "0";
return false;
}
else if(EndDate.getTime( ) == StratDate.getTime( ))
{
alert(diff+"วันที่สิ้นสุดจะต้องมากกว่าวันที่เริ่มต้น");
diff = "0";
return false;
}
if(diff==undefined)
document.getElementById("tmdiff").value = "";
else
document.getElementById("tmdiff").value = diff;
}
function TimeDriff2() {
var docfile1=parseFloat(document.memberadd.docfile.value);
var diff1=parseFloat(document.memberadd.diff.value);
document.memberadd.d.value=diff1*docfile11;
}
</SCRIPT>
</head>
<script language="javascript" type="text/javascript" src="datetimepicker.js"></script>
<body>
<?
include("chksession.php");
//echo $sess_username;
include ("connect_tong.php");
$sql = "select * from member where uname='$sess_username'";
$result = mysql_db_query($dbname,$sql);
$row = mysql_fetch_array($result);
?>
<form action="pay.php" method="POST" name="memberadd" enctype="multipart/form-data" onclick="TimeDriff()" onsubmit="return TimeDriff()" >
<table width="580" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="29" colspan="2" align="center">ข้อมูลการจอง</td>
</tr>
<tr>
<td width="200" height="29" align="right">ชื่อ-สกุล: </td>
<td align="left"> <? echo $row["name"]; ?> </tr>
<tr>
<td height="29" align="right">เบอร์โทร : </td>
<td align="left"> <? echo $row["tel"]; ?></td>
</tr>
<tr>
<td height="29" align="right">วันที่เริ่มต้นการจองโฆษณา : </td>
<td align="left"> <!-- ข้อควรระวัง : ชื่อของ Input จะต้องมี name เป็นค่าเดียวกับที่อยู่ในส่วน <a href=...> ด้วยนะครับ ดูตัวอย่างการใช้ด้านล่าง สังเกตตรงคำว่า date นะ -->
<input name="start" type="text" class="required" id="start" onblur="validateF()" onchange="TimeDriff()" />
<a href="javascript:NewCal('start','YYYYmmdd')">
<img src="cal.gif" width="16" height="16" border=0 >
</a>
<input type="hidden" name="StartDate" id="StartDate" value="<? $today = date("Y/m/d"); echo $today; ?>" /></td>
</tr>
<tr>
<td height="29" align="right">วันที่สิ้นสุดการจองโฆษณา : </td>
<td align="left">
<!-- ข้อควรระวัง : ชื่อของ Input จะต้องมี name เป็นค่าเดียวกับที่อยู่ในส่วน <a href=...> ด้วยนะครับ ดูตัวอย่างการใช้ด้านล่าง สังเกตตรงคำว่า date นะ -->
<input name="end" type="text" class="required" id="end" onchange="TimeDriff()" >
<a href="javascript:NewCal('end','yyyymmdd')">
<img src="cal.gif" width="16" height="16" border=0>
</a>
</td>
</tr>
<tr>
<td><div align="right">จำนวนวันที่จองทั้งหมด : </div></td>
<td align="left">
<input type="text" id="tmdiff" name="diff" />
วัน</td>
</tr>
<tr>
<td height="31" align="right"><select name=file onchange=javascript:docfile.value=file.value;>
<option value=''>เลือกตำแหน่ง </option>
<?
$sql = "SELECT * FROM position ORDER BY position_id";
$query = mysql_query($sql);
while($record = mysql_fetch_assoc($query))
{
?>
<option value="<?=$record["position_price"]?>"><?=$record["position_name"]?></option>
<?
}
?>
</select></td>
<td align="left">
<input name=docfile class="required" size="20" >บาท/วัน
</td>
</tr>
<tr>
<td height="29" align="right" valign="top">ค่าลงโฆษณาทั้งหมด : </td>
<td align="left" valign="top">
<input name="d" size="20" id="d" readonly="readonly"/>
บาท </td>
</tr>
<tr>
<td height="29" align="right" valign="top"></td>
<td align="left">
<input type="hidden" name="id" value="<? echo $row["id"]; ?>"/>
<input type="submit" name="submit" value="ตกลง" onclick="validateF();"/>
<input type="reset" name="submit" value="ยกเลิก"/> </td>
</tr>
</table>
</form>
</p>
</body>
</html>
Tag : PHP, MySQL, JavaScript
|
|
|
|
|
|
Date :
2011-01-21 00:22:46 |
By :
rouydee |
View :
1619 |
Reply :
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 04
|