[php]註冊form日期選項問題...

因為我想人性化d,方便人地填寫。
打算用下拉式表單俾人選取...
問題係咁:
我想知點樣設定
選取了12月自動有31日選擇
11月時就得30日
潤年的2月自動得28日選擇...

抄DISCUZ吧...

TOP

提示: 作者被禁止或刪除 內容自動屏蔽

TOP

原帖由 十三 於 2008-12-17 12:13 發表
http://snippets.dzone.com/posts/show/2099


話說實在對我太深...仲要英文,加深埋

TOP

原帖由 C.Andyclp 於 2008-12-17 17:19 發表


話說實在對我太深...仲要英文,加深埋


係唔係想咁樣:
  1. <script language="JavaScript">
  2.         function getDays(){
  3.        
  4.                 var month = parseInt(document.getElementById("month").value);
  5.                 var year = parseInt(document.getElementById("year").value);
  6.                 var day = document.getElementById("day");
  7.                 var isLeap = ( year % 4 == 0 ) ? true : false;
  8.                 var isLong;
  9.                 if( month < 8 ) isLong = ( month % 2 == 0) ? false : true;
  10.                 else isLong = ( month % 2 == 0) ? true : false;
  11.                
  12.                 var days = day.options;

  13.                 if(isLong){
  14.                         if(days.length == 31) return;
  15.                         else{
  16.                                 var newDay;
  17.                                 if(days.length == 28){
  18.                                         newDay = document.createElement("option");
  19.                                         days.add(newDay);
  20.                                         newDay.innerHTML = "29";
  21.                                         newDay.value = "29";
  22.                                 }
  23.                                 if(days.length == 29){
  24.                                         newDay = document.createElement("option");
  25.                                         days.add(newDay);
  26.                                         newDay.innerHTML = "30";
  27.                                         newDay.value = "30";
  28.                                 }
  29.                                 newDay = document.createElement("option");
  30.                                 days.add(newDay);
  31.                                 newDay.innerHTML = "31";
  32.                                 newDay.value = "31";
  33.                         }
  34.                 }
  35.                 else{
  36.                
  37.                         if(days.length == 31) days.remove(30);
  38.                         if(days.length <= 30 && month == 2){
  39.                                 days.remove(29);
  40.                                 if(!isLeap) days.remove(28);
  41.                         }
  42.                
  43.                 }
  44.        
  45.         }
  46. </script>

  47. <select onChange=getDays() id=year>
  48.         <option value=2000 selected>2000
  49.         <option value=2001>2001
  50.         <option value=2002>2002
  51.         <option value=2003>2003
  52.         <option value=2004>2004
  53.         <option value=2005>2005
  54.         <option value=2006>2006
  55.         <option value=2007>2007
  56.         <option value=2008>2008
  57.         <option value=2009>2009
  58.         <option value=2010>2010
  59.         <option value=2011>2011
  60.         <option value=2012>2012
  61. </select>年

  62. <select onChange=getDays() id=month>
  63.         <option value=1 selected>1
  64.         <option value=2>2
  65.         <option value=3>3
  66.         <option value=4>4
  67.         <option value=5>5
  68.         <option value=6>6
  69.         <option value=7>7
  70.         <option value=8>8
  71.         <option value=9>9
  72.         <option value=10>10
  73.         <option value=11>11
  74.         <option value=12>12
  75. </select>月

  76. <select onChange=getDays() id=day>
  77.         <option value=1 selected>1
  78.         <option value=2>2
  79.         <option value=3>3
  80.         <option value=4>4
  81.         <option value=5>5
  82.         <option value=6>6
  83.         <option value=7>7
  84.         <option value=8>8
  85.         <option value=9>9
  86.         <option value=10>10
  87.         <option value=11>11
  88.         <option value=12>12
  89.         <option value=13>13
  90.         <option value=14>14
  91.         <option value=15>15
  92.         <option value=16>16
  93.         <option value=17>17
  94.         <option value=18>18
  95.         <option value=19>19
  96.         <option value=20>20
  97.         <option value=21>21
  98.         <option value=22>22
  99.         <option value=23>23
  100.         <option value=24>24
  101.         <option value=25>25
  102.         <option value=26>26
  103.         <option value=27>27
  104.         <option value=28>28
  105.         <option value=29>29
  106.         <option value=30>30
  107.         <option value=31>31
  108. </select>日
複製代碼
轉果部份好似唔使用 PHP 喎

TOP

原帖由 kazenorin 於 2008-12-17 19:43 發表


係唔係想咁樣:
        function getDays(){
       
                var month = parseInt(document.getElementById("month").value);
                var year = parseInt(document.getElementById("year").value);
                var day = document.getElementById ...


咁接收頁面個 $_POST["???"];

個??? = 應該係...?

同埋年份能否自動更新?

即係計先計今年日期,之後前3年加後7年..總共10年顯示

[ 本帖最後由 C.Andyclp 於 2008-12-17 23:44 編輯 ]

TOP

原帖由 C.Andyclp 於 2008-12-17 23:42 發表


咁接收頁面個 $_POST["???"];

個??? = 應該係...?

同埋年份能否自動更新?

即係計先計今年日期,之後前3年加後7年..總共10年顯示

我段 Script 只係 getDays() 呢個 function 係重要的
其他既係simple html
demo 用...

下面自己加返 <form></form>, name 比佢地啦  
前3年後3年用 php gen 出黎囉

睇 code 唔係 抄 code

<select onChange=getDays() id=year name=year>
<?php
//用 loop 出返 d 年份
?>

</select>


$_POST[????]
???? 就係 select tag 既 name
引用中既例子, name=year
咁就會係: $_POST['year']

[ 本帖最後由 kazenorin 於 2008-12-18 00:02 編輯 ]

TOP