【问题标题】:Pre-Populated Date in Text Field [duplicate]文本字段中的预填充日期 [重复]
【发布时间】:2013-06-28 00:50:16
【问题描述】:

我正在尝试使用今天的日期预先填充一个文本框,但由于某种原因,它一直显示今天的日期为 5/30/13,比一个月后。这段代码应该只是拉动当地时间,为什么会落后一个月?这是我的代码,有人可以告诉我为什么当前日期已关闭...请帮助,:)

<script type="text/javascript">
/*<![CDATA[*/
function my_curr_date() {      
var currentDate = new Date()
  var day = currentDate.getDate();
  var month = currentDate.getMonth() + 1;
  var year = currentDate.getFullYear();
var my_date = month+"-"+day+"-"+year;
document.getElementById("dateField").value=my_date;

}
function orderReady(orderTime){
dateToday.setDate(dateToday.getDate()+orderTime);
var ready=dateToday.getMonth()+"/"
+dateToday.getDate()+"/"+dateToday.getFullYear();
document.getElementById("duedateField").value=due_date;
}
/*]]>*/

<body onload='return my_curr_date();'>

<p>Today's Date<br />
<input type='text' name='dateField' id='dateField' value='' /><br />
Pick-up Date<br />
<input type='text' name='duedateField' id='duedateField' value='' /></p>

【问题讨论】:

    标签: javascript html datepicker


    【解决方案1】:

    日期.getMonth:

    getMonth 返回的值是 0 到 11 之间的整数。0 对应于 1 月,1 到 2 月,依此类推。

    Reference.

    【讨论】:

    【解决方案2】:

    HTML 元素:

    <p>Today's Date<br />
    <input id="date" type="text" name="curDate" size="50" /><br />
    Pick-up Date<br />
    <input type='text' name='duedateField' id='duedateField' value='' /></p>
    

    使用这个javascript:

    var month = Date.getMonth();
    var date = Date.getDate();
    var year = Date.getYear();
    var deliverymonth;
    var deliverydate;
    var deliveryyear;    
    
    
    var message = month + "/" + date + "/" + year;
    document.getElementById('date').innerHTML=message;
    if(month == 11 && date >= 29){
        deliveryyear = year + 1;
        deliverymonth = 1;
        deleverydate = date - 28;
    }else{
    
    
         switch(month)
        {
            case 0,2,4,6,7,9,11:
                 if(date >= 29){
                     deliverymonth = month + 1;
                     deliverydate = date - 28;
                 }else{
                     deliverydate = date + 3;
                 }
                 break;
             case 3,5,8,10:
                 if(date >= 28){
                     deliverymonth = month + 1;
                     deliverydate = date - 27;
                 }else{
                     deliverydate = date + 3;
                 }
                 break;
              case 1:
                 if(date >= 26){
                     deliverymonth = month + 1;
                     deliverydate = date - 25;
                 }else{
                     deliverydate = date + 3;
                 }
                 break;
              default:
                 break;
              }
    var deliverymessage = deliverymonth + "/" + deliverydate + "/" + deliveryyear;
    document.getElementById('duedateField').innerHTML=deliverymessage;
    

    【讨论】:

    • 感谢您的快速回复...我仍然遇到没有字段没有填充的问题。我包括下面的总脚本供您查看。我很困惑为什么这不起作用。再次感谢您的帮助。
    • 好的,所以我得到了正确预填充的日期,但现在选择器无法工作。基本上,我必须用当前日期预先填充第一个文本框,然后根据选择的单选框用日期 + 1-3 天填充第二个文本框。我已经用完整的 Javascript 代码更新了我的代码,所以你可以看到我在做什么。
    • 查看我对添加内容的编辑
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-12-29
    • 2022-01-11
    • 1970-01-01
    • 2012-12-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多