ดัก error ในการกรอกวันที่ก่อนหลัง คือจะทำการดักในการกรอกวันที่เริ่มต้น กับ วันที่สิ้นสุด ค่ะ เวลากรอก
<form method="post" onSubmit="return check_form(this)">
วันเริ่ม
<select name= "s_year" onChange="change_input(1,'')" id="id_year[1]">
<option value="">เลือกปี</option>
<?
for($y=date('Y')-10; $y<=date('Y')+10; $y++){
?>
<option value="<?=$y?>"><?=$y?></option>
<? } ?>
</select> -
<select name= "s_month" onChange="change_input(1,'')" id="id_month[1]">
<option value="">เลือกเดือน</option>
<?
for($m=1; $m<=12; $m++){ if($m<10){$m='0'.$m;}
?>
<option value="<?=$m?>"><?=$m?></option>
<? } ?>
</select> -
<select name= "s_day" id="id_day[1]">
<option value="">เลือกวัน</option>
</select><br />
วันสิ้นสุด
<select name= "e_year" onChange="change_input(2)" id="id_year[2]">
<option>เลือกปี</option>
<?
for($y2=date('Y')-10; $y2<=date('Y')+10; $y2++){
?>
<option value="<?=$y2?>"><?=$y2?></option>
<? } ?>
</select> -
<select name= "e_month" onChange="change_input(2)" id="id_month[2]">
<option>เลือกเดือน</option>
<?
for($m2=1; $m2<=12; $m2++){ if($m2<10){$m2='0'.$m2;}
?>
<option value="<?=$m2?>"><?=$m2?></option>
<? } ?>
</select> -
<select name= "e_day" id="id_day[2]">
<option value="">เลือกวัน</option>
</select><br />
<input type="submit" value="submit" />
</form>
<script>
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(obj_form)
{
var date_form = new Array();
var arr_obj_form = new Array();
var arr_form_date = new Array('s_year','s_month','s_day','e_year','e_month','e_day');
var arr_alert = new Array('ปีที่เริ่ม','เดือนที่เริ่ม','วันที่เริ่ม','ปีสิ้นสุด','เดือนสิ้นสุด','วันสิ้นสุด');
arr_obj_form['s_year'] = obj_form.s_year;
arr_obj_form['s_month'] =obj_form.s_month;
arr_obj_form['s_day'] = obj_form.s_day;
arr_obj_form['e_year'] = obj_form.e_year;
arr_obj_form['e_month'] = obj_form.e_month;
arr_obj_form['e_day'] = obj_form.e_day;
for(var w=0; w<arr_form_date.length; w++)
{
if(!arr_obj_form[arr_form_date[w]].value)
{
alert("กรุณากรอก"+arr_alert[w]+"ด้วย");
arr_obj_form[arr_form_date[w]].focus();
return false;
}
date_form[w] = arr_obj_form[arr_form_date[w]].value;
}
var date_start = new Date(date_form[0],(date_form[1]-1),date_form[2]);
var date_end = new Date(date_form[3],(date_form[4]-1),date_form[5]);
var check_date = (date_end-date_start);
if(check_date<=0)
{
alert("กรุณาเลือกวันสิ้นสุดมากกว่าวันที่เริ่ม");
return false;
}
}
</script>
Date :
2009-05-04 11:23:07
By :
heng
เราทดลองดูแล้วมันก็ใช่นะค่ะเราต้องการแบบนี้เลย แต่ว่าของเราอะดิ เป็นแบบปฏิทินให้กดเลือกวันที่เอาเลย แล้วทีนี้เราก็เลยงงว่าจะดัดแปลงยังไงกับของที่นายให้ตัวอย่างมานะค่ะ งงปะ
ถ้ารู้ช่วยหน่อยนะค่ะ ขอบคุณค่ะ
Date :
2009-05-04 16:30:28
By :
anchalika
ใช้ DateDiff เอาสิค่ะ
TextBox2.Text = Format(Calendar2.SelectedDate, "yyyy/MM/dd")
TextBox1.Text = DateDiff("d", "2009/01/01", TextBox2.Text)
ประมาณเนี่ย ถ้าไม่เข้าใจก็ add มาที่ [email protected]
Date :
2009-05-15 14:37:49
By :
jip_is
ลืมบอกไปเราก็ใช้อยู่ ได้ผลด้วย
ไม่รู้ว่ามาตอบช้าไปรึเปล่า เอิ๊ก ๆ
Date :
2009-05-15 14:42:18
By :
jip_is
Load balance : Server 00