|
|
|
JavaScript เปรียบเทียบวันที่ มากกว่า น้อยกว่า แสดงเตือนแบบ alert รบกวนด้วยนะค่ะ |
|
|
|
|
|
|
|
ขอบคุณพี่ mr.win มากค่ะ
รบกวนอีกครั้งนะค่ะ อยากได้แบบ javascript ค่ะ
|
|
|
|
|
Date :
2010-08-16 14:34:40 |
By :
gloyha |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (PHP)
<?
$start_year = date("Y");
$start_month = date("m");
$start_day = date("d");
$end_year = date("Y");
$end_month = date("m");
$end_day = date("d");
?>
<form method="post" onSubmit="return check_form(this)" >
วันเริ่ม
<select name= "start_year" onChange="change_input(1,'')" id="id_year[1]" >
<? for($y=date('Y')-2; $y<=date('Y')+2; $y++){?>
<option value="<?=$y?>" <? if($y==$start_year){ echo "selected";}?>><?=$y+543?></option>
<? } ?>
</select> -
<select name= "start_month" onChange="change_input(1,'')" id="id_month[1]">
<? for($m=1; $m<=12; $m++){ if($m<10){$m="0".$m;}?>
<option value="<?=$m?>" <? if($m==$start_month){ echo "selected";}?>><?=$m?></option>
<? } ?>
</select> -
<select name= "start_day" id="id_day[1]" >
</select>
วันสิ้นสุด
<select name= "end_year" onChange="change_input(2,'')" id="id_year[2]">
<? for($y=date('Y')-2; $y<=date('Y')+2; $y++){?>
<option value="<?=$y?>" <? if($y==$end_year){ echo "selected";}?>><?=$y+543?></option>
<? } ?>
</select> -
<select name= "end_month" onChange="change_input(2,'')" id="id_month[2]">
<? for($m=1; $m<=12; $m++){ if($m<10){$m="0".$m;}?>
<option value="<?=$m?>" <? if($m==$end_month){ echo "selected";}?>><?=$m?></option>
<? } ?>
</select> -
<select name= "end_day" id="id_day[2]" >
</select>
<input type="submit" />
</form>
<script>
var d_start = <?=$start_day?>;
var d_end = <?=$end_day?>;
change_input(1,d_start);
change_input(2,d_end);
function change_input(i,day_selected)
{
year_id= document.getElementById('id_year['+i+']');
month_id = document.getElementById('id_month['+i+']');
day_id = document.getElementById('id_day['+i+']');
if(year_id.value &&month_id.value)
{
calculator_day(year_id,month_id,day_id,day_selected);
}
}
function calculator_day(year_id,month_id,day_id,day_selected)
{
var y_value = parseFloat(year_id.value);
var m_value = parseFloat(month_id.value)-1;
var start_month = new Date(y_value,m_value,1);
var end_month = new Date(y_value,m_value+1,1);
var num_day = (end_month - start_month)/1000/60/60/24;
show_select_day(num_day,day_id,day_selected);
}
function show_select_day(num_day,day_id,day_selected)
{
day_id.length = parseFloat(num_day)+1;
for(var cn = 1; cn <= num_day; cn++)
{
day_id.options[cn].value = cn;
if(cn<10){cn="0"+cn}
day_id.options[cn].text = cn;
if(day_selected==cn){day_id.options[cn].selected=true;}
}
}
function check_form(name_form)
{
var Y_start = name_form.start_year.value
var m_start = name_form.start_month.value
var d_start = name_form.start_day.value
var date_start = new Date(Y_start,(m_start-1),d_start);
var Y_end = name_form.end_year.value
var m_end= name_form.end_month.value
var d_end = name_form.end_day.value
var date_end = new Date(Y_end,(m_end-1),d_end);
if(date_start>date_end){
alert("กรุณาเลือกวันสิ้นสุดมากกว่าวันเริ่ม")
return false;
}
return confirm("ยืนยัน");
}
</script>
|
|
|
|
|
Date :
2010-08-16 16:37:25 |
By :
heng |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอบคุณ คุณheng มากค่ะ
ถ้าไม่เป็นการรบกวนเกินไป ขอรบกวนอีกครั้ง
ถ้าเป็นกรณีที่เรากด popup เลือกวันที่ ต้องทำไงค่ะ
|
|
|
|
|
Date :
2010-08-17 09:07:43 |
By :
gloyha |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ลองเข้าไปดูที่นี่ซิครับ ไม่รู้ว่า ใช่หรือเปล่า ถ้าไม่ใช่ ก็แล้วไป
http://www.dynamicdrive.com/dynamicindex6/popcalendar2.htm หรืออันนี้
http://www.dynamicdrive.com/dynamicindex7/jasoncalendar.htm
|
ประวัติการแก้ไข 2010-08-17 09:53:57
|
|
|
|
Date :
2010-08-17 09:52:34 |
By :
sirikulo |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอบคุณ คุณsirikulo มากค่ะ
แต่ว่าเรื่อง popup ปฏิทินทำได้แล้วค่ะ เหลือแต่ให้มันเช็คค่ามากกว่าน้อยกว่า ก่อน insert ค่ะ
|
|
|
|
|
Date :
2010-08-17 15:03:40 |
By :
gloyha |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
อ่ะเฉลยแล้วกัน
จากที่คุณ -->By : webmaste ส่งให้เนี่ย ก็น่าจะนำมาใช้ได้แล้ว
Code (PHP)
<?php
function compareDate($date1,$date2) {
$arrDate1 = explode("-",$date1);
$arrDate2 = explode("-",$date2);
$timStmp1 = mktime(0,0,0,$arrDate1[1],$arrDate1[2],$arrDate1[0]);
$timStmp2 = mktime(0,0,0,$arrDate2[1],$arrDate2[2],$arrDate2[0]);
if ($timStmp1 == $timStmp2) {
echo "\$date = \$date2";
} else if ($timStmp1 > $timStmp2) {
echo "\$date > \$date2";
} else if ($timStmp1 < $timStmp2) {
echo "\$date < \$date2";
}
}
echo compareDate("2004-01-06","2004-05-06");
?>
ก็แค่เปลี่ยน จาก tag php ให้เป็น javascript บางส่วนสิครับ ก็ได้แล้ว เช่น
<?php
function compareDate($date1,$date2) {
$arrDate1 = explode("-",$date1);
$arrDate2 = explode("-",$date2);
$timStmp1 = mktime(0,0,0,$arrDate1[1],$arrDate1[2],$arrDate1[0]);
$timStmp2 = mktime(0,0,0,$arrDate2[1],$arrDate2[2],$arrDate2[0]);
if ($timStmp1 == $timStmp2) {
echo "<script>alert("วันที่เท่ากัน");</script>";
} else if ($timStmp1 > $timStmp2) {
echo "<script>alert("Date 1 มากกว่า Date 2");</script>";
} else if ($timStmp1 < $timStmp2) {
echo "<script>alert("Date 1 น้อยกว่า Date 2");</script>";
}
}
echo compareDate("2004-01-06","2004-05-06");
?>
คงจะเข้าใจเนอะ O_o
|
|
|
|
|
Date :
2010-08-17 15:13:20 |
By :
burn |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอบคุณ คุณburnมากค่ะ เคยทำแบบที่คุณบอกแล้วแต่พอให้ action ไปที่หน้า save มันไม่ยอมเช็คค่าค่ะ
|
|
|
|
|
Date :
2010-08-17 15:18:41 |
By :
gloyha |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
แล้ว ไอ้ code ทีตรวจสอบนี่อ่ะครับ อยู่ในหน้าไหน เหรอ
หน้า save หรือ หน้า กรอก ข้อมูล
|
|
|
|
|
Date :
2010-08-17 15:21:31 |
By :
ิburn |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
กรอกข้อมูล
|
|
|
|
|
Date :
2010-08-17 15:23:47 |
By :
gloyha |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
แป่ว ทำไมไม่ย้ายไปหน้า save หล่ะคับ
= =
|
|
|
|
|
Date :
2010-08-17 15:25:23 |
By :
burn |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 04
|