【问题标题】:Dynamically update expiry date based on a previous date using JavaScript使用 JavaScript 根据前一个日期动态更新到期日期
【发布时间】:2015-04-29 14:04:47
【问题描述】:

我想提供生效日期(初始日期),系统会使用 JavaScript 或任何其他更好的方法自动将一 (1) 年添加到上面提供的日期。

<form action="<?php $_SERVER['PHP_SELF'];?>" method="post">
    <p>
        <strong style="color:black">Software Name:</strong>
        <input type="text" name="swname" value=""  />
    </p>&nbsp;

    <p>
        <strong style="color:black"> 
            Company 
            <input type="text" name="coy" size="50" value="">
        </strong>
    </p>&nbsp;

    <p>
        <strong style="color:black"> 
            Effective Date 
            <input type="date" name="sdate" value="" onblur="getYearVal();" />
        </strong>
    </p>&nbsp;

    <script>
        function getYearVal() {
            //script that automatically add one year to the above is placed here
        }
    </script>

    <p>    
        <strong style="color:black"> 
            Expiry Date
            <input type="date" name="edate"  id="edate"  value=""/>
        </strong>

        <input type="submit" name="submit" value="Register " /> | 
        <input type="reset" name="reset" value="Cancel" /> 

</form>

【问题讨论】:

  • 你想更新一条mysql记录吗?还是只更新文本框中的值?

标签: javascript php jquery mysqli


【解决方案1】:

首先你必须创建一个Date object

var date = new Date('year','month','day');

然后加上 1 年:

date.setFullYear(date.getFullYear() + 1);

这只是一个例子,根据你的需要进行修改。

【讨论】:

    【解决方案2】:

    我相信您正在寻找的是 getFullYear() js 函数

    var d = new Date();
    var n = d.getFullYear(); 
    

    来源:http://www.w3schools.com/jsref/jsref_getfullyear.asp

    【讨论】:

      【解决方案3】:

      如果你想设置一个输入值,你至少应该选择它。在这里您可以使用getElementByIdquerySelector

      要设置元素的值,只需使用value propery

      最后看看Date javascript object

      应该做的事情的代码:

      <form action="" method="post">
        <p><strong style="color:black">Software Name:</strong>
          <input type="text" name="swname" value="" />
        </p>
        <p><strong style="color:black">Company</strong> 
          <input type="text" name="coy" size="50" value="">
        </p>
        <p><strong style="color:black">Effective Date</strong> 
          <input type="date" name="sdate" value="" />
        </p>
        <p><strong style="color:black">Expiry Date</strong>
          <input type="date" name="edate" id="edate" value="" />
        </p>
        <p>
          <input type="submit" name="submit" value="Register " />|
          <input type="reset" name="reset" value="Cancel" />
        </p>
      
        <script>
          var date = new Date(),
            dateString = (date.getFullYear() + 1) + '/' + (date.getMonth() + 1) + '/' + date.getDate();
          document.querySelector('input[name="sdate"]').value = dateString;
        </script>
      
      </form>

      【讨论】:

      • 感谢您提供此解决方案,但是,到期日期不正确。例如,2015 年 4 月 29 日加一年应为 2016 年 4 月 28 日,但给出的是 2015 年 4 月 29 日。 shld 我从月份中减去 1 或者最好的方法是什么
      • 嗯。对我来说,我的示例给出了“2016/5/5”作为结果。可能你在那里做错了什么。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-06-05
      • 2012-02-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多