|
|
|
ช่วยดูโค้ดวันที่ให้หน่อยครับ ว่า ทำไมผมรันใน >>> IE9 <<< มันมีปัญหา แต่ ถ้ารันใน >>> Chome <<< มันเช็คได้ทำงานได้ปกติ |
|
|
|
|
|
|
|
หายกันหมดเลย.... Y_Y
|
|
|
|
|
Date :
2013-02-15 18:58:48 |
By :
pongyo |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1.แค่หลายคนและผมคนนึงที่ไม่เข้าใจเงื่อนไขของการทำปฏิทินแบบนี้ครับ....คงมีเหตุผลจำเป็น
2.เรื่องของเบราเซอร์อย่าไปไว้ใจไม่ว่าจะตัวไหน ต้องทำใจครับ
3.ในความเป็นจริง คนที่ใช้ต้องเลือก วันที่ก่อน > เดือน > ปี ตามลำดับ คงไม่มีผู้ใช้มาใส่ใจเลือกเดือนก่อนแล้วให้วันมีเท่าจำนวนเดือนที่เลือก
4.หาอะไรที่ง่ายต่อการใช้ดีกว่าครับ
|
|
|
|
|
Date :
2013-02-15 19:45:14 |
By :
apisitp |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ผมก็อยากเปลี่ยนเป็น DatePicker นะครับ แต่ อ.เค้าต้องการให้ทำเป็นรูปแบบนี้ครับ และ อ.เค้าก็บอกต้องทำให้ได้ ยังไงรบกวนพี่ช่วยผมหน่อยได้ไหมครับ !!!
|
|
|
|
|
Date :
2013-02-15 20:46:47 |
By :
pongyo |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เป็น ego ของอาจารย์ครับ
อธิบายเพิ่มเติมหน่อยครับ ว่าปฏิทินนี้ทำงานอย่างไร
|
|
|
|
|
Date :
2013-02-15 21:09:29 |
By :
sakuraei |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
คือ พอเลือกListBoxเดือน จะต้องขึ้นจำนวนวันตามเดือนนั้นๆในListBoxของวันที่
เช่น ถ้าลงท้ายด้วย( "คม" จะแสดง 1-31 )
ถ้าลงท้ายด้วย( "ยน" จะแสดง 1-30)
ถ้าเป็นเดือนกุมภาพันธ์จะขึ้นจำนวนวันเป็น 28 หรือ 29 ตามListBoxปี ที่เลือก
และถ้าเลือกเกินวันที่ปัจจุบันหรือวันที่กำหนดไว้ ให้มันขึ้นแจ้งเตือน ประมาณนี้ครับ
|
|
|
|
|
Date :
2013-02-15 21:38:55 |
By :
pongyo |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ไปหาเรื่องฐานข้อมูล ตำบล อำเภอ จังหวัด และ ลองศึกษาวิธีเรียกใช้ดูครับ...ประมาณว่า เลือก จ. จะแสดงอำเภอ เลือก อ. จะแสดง ตำบล....หลักการเดียวกัน....
อยากรู้ว่าท่านอาจารย์ทำได้มั้ยเนี่ยะ
เหมือนอาจารย์ที่ทำงานจะสอน moodle ยังมาให้ผมช่วยติดตั้ง ช่วยแก้ php.ini ... โครตเบื่อ...ไม่เป็นไม่ถนัดแต่อยากสอน (เรื่องส่วนตัว แฮ่ะๆ)
|
|
|
|
|
Date :
2013-02-15 23:49:29 |
By :
apisitp |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เอาไปลองทุกๆบราวเซอร์ JQuery น่าจะผ่านครับ http://jsfiddle.net/NBzdH/
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title> ช่วยดูโค้ดวันที่ให้หน่อยครับ ว่า ทำไมผมรันใน >>> IE9 <<< มันมีปัญหา แต่ ถ้ารันใน >>> Chome <<< มันเช็คได้ทำงานได้ปกติ</title>
<meta name="Generator" content="EditPlus">
<meta name="Author" content="Unidentifier">
<meta name="Keywords" content="">
<meta name="Description" content="">
<script src="http://code.jquery.com/jquery-latest.js"></script>
<meta http-equiv="Content-Type" content="text/html; charset=utf8" />
<style type="text/css">
.inline{
display:inline-block;
width:110px;
text-align:center;
}
</style>
<script type="text/javascript">
function yearBox(){
var now = new Date();
var fullYear = now.getFullYear();
var yearBox = $("<select id='year'></select>");
for(var i=10; i>0; i--){
yearBox.append("<option value='"+fullYear+"'>"+fullYear+"</option>");
fullYear--;
}
return yearBox;
}
function monthBox(){
var monthBox = $("<select id='month'></select>");
var monthNameTH = {1:"มกราคม",2:"กุมภาพันธ์" ,3:"มีนาคม",4:"เมษายน",5:"พฤษภาคม",6:"มิถุนายน",7:"กรกฏาคม",8:"สิงหาคม",9:"กันยายน",10:"ตุลาคม",11:"พฤศจิกายน",12:"ธันวาคม"};
$.each(monthNameTH ,function(index,item){
monthBox.append("<option value='"+index+"'>"+item+"</option>");
});
return monthBox;
}
function dayBox(){
var dayBox = $("<select id='day'></select>");
for(var i=1; i<=31; i++)
dayBox.append("<option value='"+i+"'>"+i+"</option>");
return dayBox;
}
$(document).ready(function(){
$("#day").append(new dayBox());
$("#year").append(new yearBox()).change(function(){
$("#day").empty().append(new dayBox());
var month = $("select#month option:selected").val();
var monthName = $("select#month option:selected").text();
var year = $("option:selected",this).val();
var lastDayOfMonth = new Date(year, month, 0).getDate();
alert('ปี'+year+' เดือน'+monthName+' มี '+lastDayOfMonth + 'วัน');
$("select#day option").each(function(index,item){
if(index>=lastDayOfMonth)
$(this).remove();
});
});
$("#month").append(new monthBox())
.change(function(){
$("#day").empty().append(new dayBox());
var month = $("option:selected",this).val();
var monthName = $("option:selected",this).text();
var year = $("select#year option:selected").val();
var lastDayOfMonth = new Date(year, month, 0).getDate();
alert('ปี'+year+' เดือน'+monthName+' มี '+lastDayOfMonth + 'วัน');
$("select#day option").each(function(index,item){
if(index>=lastDayOfMonth)
$(this).remove();
});
});
});
</script>
</head>
<body>
<div class="inline" id="year"></div>
<div class="inline" id="month"></div>
<div class="inline" id="day"></div>
</body>
</html>
|
ประวัติการแก้ไข 2013-02-16 10:03:35
|
|
|
|
Date :
2013-02-16 00:21:26 |
By :
sakuraei |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
โปรเจคของผมทำเกี่ยวกับร้านขายหนังสือOnline ครับ วันที่กำหนดไว้ ในที่นี่ หมายถึง เช่นตอนลูกค้าจะแจ้งชำระเงิน ก็ต้องเช็คว่าวันที่โอนเงินห้ามเลือกย้อนหลังเกินวันที่สั่งซื้อสินค้า และ ห้ามเลือกเกินวันที่ปัจจุบัน ประมาณนี่น่ะครับ
|
|
|
|
|
Date :
2013-02-16 01:51:17 |
By :
pongyo |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
แล้ววันที่สั่งซื้ออยู่ในรูปแบบไหนครับ $_SESSION , $_POST , $_GET และจะส่งมาให้โค้ดชุดวันที่นี้อย่างไรครับ
|
|
|
|
|
Date :
2013-02-16 01:55:50 |
By :
sakuraei |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ไม่ใช่โค้ดนี้ไม่ตรวจหรือไม่ทำงานนะครับ
โค้ดนี้ทำงานถูกต้อง ไม่มี error ใดๆ ใน IE
แต่เป็นตัว IE เองที่มีปัญหากับ css display สำหรับ OptionElement ครับ
ต่อให้กำหนดเป็น display: none ก็จะยังแสดงผลอยู่
ดังนั้นวิธีแก้ ต้องคิดวิธี ซ่อน/แสดง OptionElement เสียใหม่
หากเราเปลี่ยน css ไม่ได้
ลองเปลี่ยนมาเป็น "เอามันออกไป" และ "ใส่มันกลับเข้ามา" ดูดีมั้ยครับ
<html>
<head>
<title>TestDate</title>
</head>
<body>
<select id="day">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
<option value="13">13</option>
<option value="14">14</option>
<option value="15">15</option>
<option value="16">16</option>
<option value="17">17</option>
<option value="18">18</option>
<option value="19">19</option>
<option value="20">20</option>
<option value="21">21</option>
<option value="22">22</option>
<option value="23">23</option>
<option value="24">24</option>
<option value="25">25</option>
<option value="26">26</option>
<option value="27">27</option>
<option value="28">28</option>
<option value="29">29</option>
<option value="30">30</option>
<option value="31">31</option>
</select>
<select id="month" >
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
</select>
<select id="year">
<option value="2001">2001</option>
<option value="2002">2002</option>
<option value="2003">2003</option>
<option value="2004">2004</option>
<option value="2005">2005</option>
<option value="2006">2006</option>
<option value="2007">2007</option>
<option value="2008">2008</option>
<option value="2009">2009</option>
<option value="2010">2010</option>
<option value="2011">2011</option>
<option value="2012">2012</option>
</select>
<script language="javascript" type="text/javascript">
var month = document.getElementById("month");
var day = document.getElementById("day");
var year =document.getElementById("year");
// ใช้เก็บ option วันที่ 29 - 31
var options29to31 = {};
function init() {
for (var i = 29; i <= 31; i++) {
// โดยใช้ Object เป็นตัวเข้าถึง
options29to31[i] = day.options[i - 1];
}
}
init();
calday = function(e){
var ayear = year.options[year.selectedIndex].value;
var addleap = ((ayear%4==0&&ayear%100!=0)||ayear%4==0)?1:0;
var startCounter = (28 + addleap);
var selected = month.options[month.selectedIndex].value;
var numDays;
if((selected<=7&&selected%2==0&&selected!=2)||(selected>7&&selected%2==1)){
numDays = 30;
//day.options[30].style.display= 'none';
}else if(selected==2){
numDays = 28 + addleap;
//for(var i = startCounter;i<day.options.length;i++){
//day.options[i].style.display= 'none';
//}
}else{
numDays = 31;
//for(var k = startCounter;k<day.options.length;k++){
//day.options[k].style.display= '';
//}
}
// เอา option วันที่ 29 - 31 ออกไป
while (day.options.length > 28) {
day.removeChild(day.options[28]);
}
// แล้วใส่กลับเข้าไปใหม่ตามจำนวนวันที่คำนวณได้
for (var i = 29; i <= numDays; i++) {
day.appendChild(options29to31[i]);
}
};
var oldonchange = month.onchange;
month.onchange= function(e){
if(typeof oldonchange == 'function')oldonchange(e);
calday(e);
};
year.onchange=calday;
</script>
</body>
</html>
|
ประวัติการแก้ไข 2013-02-16 02:10:51
|
|
|
|
Date :
2013-02-16 02:09:28 |
By :
cookiephp |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
อิอิ ความลับครับเมี้ยว
แต่อยู่กทม.นี่ล่ะฮะ
|
|
|
|
|
Date :
2013-02-16 02:30:32 |
By :
cookiephp |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอบคุณมากครับ พี่ๆทุกท่าน ที่ช่วยดูช่วยแก้ไข โปรแกรมให้ ตอนนี้ผมลองนำมารันแก้ได้ละครับ ดีใจ!!! เดี่ยวผมไปส่ง อาจารย์ ดูก่อนว่าจะ ok หรือไม่ยังไง แล้วผมจะมาโพสบอกความคืบหน้าครับ ^^
|
|
|
|
|
Date :
2013-02-16 13:10:47 |
By :
pongyo |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 05
|