อยากจะเช็คค่าระยะห่างของวันเวลาที่กรอกในช่อง textbox ทั้ง 2 ช่อง
น่าจะต้องใช้ javascript นะครับเพราะอยากให้มัน alert มาด้วย
ส่วนเรื่องการเขียนนั้นยังคิดไม่ออกอ่ะนะ
แต่ผมสงสัยว่าในรูปมันคนละวันไม่ใช่หรอครับ มันจะห่างกัน 4 ชั่วโมงได้ไงอ่ะครับ ?
Date :
2010-06-21 17:27:58
By :
oxygenyoyo
รูปแบบการกรอก ทั้ง 2 ช่อง คือว่าจะกรอกแบบ 25/12/2553 14:15:45
นะครับ รูปที่แสดงนั้น เป็นตัวอย่างนะครับ
คือว่าอยากจะเอาค่าที่กรอกทั้ง 2 ช่องมาคิดระยะห่าง ว่าห้ามเกินกัน 4 ชั่วโมงนะครับ
เพราะงานที่เริ่มต้นและงานที่ทำเสร็จแล้ว ห้ามเกิน 4 ชั่วโมงนะครับ ขอขอบคุณมาก ๆ คัรบ
Date :
2010-06-21 17:50:01
By :
pukmtec
ต้องแยกเวลาออกมาคับ แล้วหาเวลา
บอกได้แค่นี้นะคับ ลองหาคำสั่ง js ทีละตัว เอาคับ หรือหาโค้ดมาก็ได้
คิดว่าไม่ยากเกินไป
Date :
2010-06-21 18:00:42
By :
pjgunner
ทำตัวอย่างแยกช่องกรอกนะ ถ้าทำรวมกันจะคำนวณลำบาก
( ปี.เดือน.วัน ชั่วโมง:นาที:วินาที )<br />
<input name="start_d" size="3" />.<input name="start_m" size="3" />.<input name="start_y" size="5" /> <input name="start_h" size="3" />:<input name="start_i" size="3" />:<input name="start_s" size="3" /><br />
<input name="end_d" size="3" />.<input name="end_m" size="3" />.<input name="end_y" size="5" /> <input name="end_h" size="3" />:<input name="end_i" size="3" />:<input name="end_s" size="3" /><br />
<input type="button" value="ตรวจสอบ" onclick="check_time()" />
<script language="javascript">
function check_time() {
var start_d = document.all('start_d').value;
var start_m = document.all('start_m').value-1;
var start_y = document.all('start_y').value;
var start_h = document.all('start_h').value;
var start_i = document.all('start_i').value;
var start_s = document.all('start_s').value;
var end_d = document.all('end_d').value;
var end_m = document.all('end_m').value-1;
var end_y = document.all('end_y').value;
var end_h = document.all('end_h').value;
var end_i = document.all('end_i').value;
var end_s = document.all('end_s').value;
var start_date = new Date (start_y,start_m,start_d,start_h,start_i,start_s);
var end_date = new Date (end_y,end_m,end_d,end_h,end_i,end_s);
count_time = (end_date - start_date)/1000/60/60;
if(count_time>4){alert("เกิน 4 ชั่วโมง"); }else{alert("ไม่เกิน");}
}
</script>
Date :
2010-06-21 18:01:12
By :
heng
ผิด ตรงช่องกรอกเรียงตามนี้ ( วัน.เดือน.ปี ชั่วโมง:นาที:วินาที )
Date :
2010-06-21 18:03:02
By :
heng
ขอขอบคุณพี่ๆ ทุกคนมาก ๆ เลยคับ
ผมจะลองเอาไปดัดแปลงเป็นแบบของผม จะได้หรือป่าว จะมาบอกให้พี่ๆ ทราบอีกครั้งนะครับ...
ขอขอบคุณอีกครั้งนะครับ...
Date :
2010-06-21 18:27:26
By :
pukmtec
ถึง พี่ ๆ ทุกท่าน
ก่อนอื่นผมต้องขอขอบคุณพี่ ๆ ทุกท่านที่ช่วยให้คำแนะนะ
จากกระทู้ปัญหาที่ผมได้ตั้งไว้นั้น ตอนนี้ผมทำได้แล้วนะครับ
จากโค๊ดด้านล่างนี้ :-
(แต่หากพี่ ๆ คนไหน มีคำแนะนำ หรือว่าโค๊ดเป็นอย่างไร ขอรบกวน
ช่วยแนะนำเพิ่มเติม หรือติ ด้วยนะครับ เพื่อเป็นแนวทางต่อไป
ขอบคุณมาก ๆ เลยครับ)
-----------------------------------------------------
<?php
$dStart = $_REQUEST['txtStart']; // วัน-เวลา (เริ่มต้น)
$dStt = explode("/",$dStart);
$adStt = ($dStt[2]-543).$dStt[1].$dStt[0];
$atStt = explode(" ",$dStart);
$tStt = explode(":",$atStt[2]);
$dStop = $_REQUEST['txtStop']; // วัน-เวลา (สิ้นสุด)
$dStp = explode("/",$dStop);
$adStp = ($dStp[2]-543).$dStp[1].$dStp[0];
$atStp = explode(" ",$dStop);
$tStp = explode(":",$atStp[2]);
// function -> mktime(hour,minute,second,month,day,year)
$dateStart = mktime(0,0,0,$dStt[1],$dStt[0],($dStt[2]-543));
$dateStop = mktime(0,0,0,$dStp[1],$dStp[0],($dStp[2]-543));
$timeStart = mktime($tStt[0],$tStt[1],$tStt[2],0,0,0);
$timeStop = mktime($tStp[0],$tStp[1],$tStp[2],0,0,0);
$dateOver = ($dateStop - $dateStart) / (60 * 60 * 24);
$timeOver = ($timeStop - $timeStart ) / (60 * 60);
if($dateOver >= 1 || $timeOver > 4){
echo "<script>alert('** ห้ามระบุวัน-เวลา (เริ่มต้น) และ วัน-เวลา (สิ้นสุด) ห่างกันเกิน 4 ชั่วโมง** ');</script>";
exit();
}
?>
-----------------------------------------------
Date :
2010-06-22 18:19:57
By :
pukmtec
Load balance : Server 04