Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,037

HOME > PHP > PHP Forum > ช่วยแก้ปัญหา Datetimepicker ให้ที อยากให้เลือกDatetimepicker แล้วคำนวณอัตโนมัติครับ



 

ช่วยแก้ปัญหา Datetimepicker ให้ที อยากให้เลือกDatetimepicker แล้วคำนวณอัตโนมัติครับ

 



Topic : 054822

Guest




คือผมใช้ 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">ชื่อ-สกุล: &nbsp;</td>
          <td align="left">&nbsp; <? echo $row["name"]; ?>          </tr>
          <tr>
            <td  height="29" align="right">เบอร์โทร : &nbsp;</td>
            <td align="left">&nbsp; <? echo $row["tel"]; ?></td>
          </tr>
          <tr>
            <td height="29" align="right">วันที่เริ่มต้นการจองโฆษณา : &nbsp;</td>
            <td align="left">&nbsp;<!-- ข้อควรระวัง : ชื่อของ 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">วันที่สิ้นสุดการจองโฆษณา : &nbsp;</td>
            <td align="left">&nbsp;
                <!-- ข้อควรระวัง : ชื่อของ 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">จำนวนวันที่จองทั้งหมด : &nbsp;</div></td>
            <td align="left">&nbsp;
            <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">&nbsp;
            <input name=docfile class="required" size="20" >บาท/วัน           
            </td>
          </tr>
          <tr>
            <td height="29" align="right" valign="top">ค่าลงโฆษณาทั้งหมด : &nbsp;</td>
            <td align="left" valign="top">&nbsp;
               <input name="d" size="20" id="d" readonly="readonly"/> 
                
            บาท </td>
          </tr>
          
          <tr>
            <td height="29" align="right" valign="top"></td>
            <td align="left">&nbsp;
                <input type="hidden" name="id" value="<? echo $row["id"]; ?>"/>
               	<input type="submit" name="submit" value="ตกลง" onclick="validateF();"/> &nbsp;
                <input type="reset" name="submit" value="ยกเลิก"/>            </td>
          </tr>          
        </table>
</form>
 </p>
</body>
</html>




Tag : PHP, MySQL, JavaScript







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2011-01-21 00:22:46 By : rouydee View : 1619 Reply : 0
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : ช่วยแก้ปัญหา Datetimepicker ให้ที อยากให้เลือกDatetimepicker แล้วคำนวณอัตโนมัติครับ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 04
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่