You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

点击按钮时将当前日期填入date类型输入框的jQuery/PHP实现咨询

问题修复方案

原代码存在的问题

  • jQuery选择器写法错误:选中id属性的元素需要加#前缀,原代码的$('subdateout')无法匹配到目标输入框
  • 赋值格式不符合规范:type="date"的原生输入框要求value必须为YYYY-MM-DD格式的字符串,你使用的time.toDateString()返回的格式不符合要求,会导致赋值失败。另外该输入框的显示格式由浏览器/系统的区域设置自动决定,无需手动转为mm/dd/yyyy格式再赋值,只要本地区域设置为美区,就会自动显示为月/日/年的格式。

修复后代码(使用原生date输入框)

$(function() {
  $('#btncheckout').click(function() {
    const time = new Date();
    // 补零函数,处理月、日不足两位的情况,兼容低版本浏览器可以替换为:const padZero = num => num < 10 ? '0' + num : num;
    const padZero = num => num.toString().padStart(2, '0');
    const year = time.getFullYear();
    const month = padZero(time.getMonth() + 1); // 月份从0开始计数,需要+1
    const day = padZero(time.getDate());
    // 组装为date输入框要求的YYYY-MM-DD格式
    $('#subdateout').val(`${year}-${month}-${day}`);
  });
});

如需固定显示mm/dd/yyyy格式(不受系统区域影响)

可以把input的type改为text,再直接赋值格式化后的字符串:

  1. 修改HTML部分的input标签:
<input type="text" name="subdateout" id="subdateout" class="form-control rounded-0 w3-tiny" value="" placeholder="mm/dd/yyyy">
  1. 对应修改jQuery赋值逻辑:
$(function() {
  $('#btncheckout').click(function() {
    const time = new Date();
    const padZero = num => num < 10 ? '0' + num : num;
    const month = padZero(time.getMonth() + 1);
    const day = padZero(time.getDate());
    const year = time.getFullYear();
    // 直接组装为mm/dd/yyyy格式赋值
    $('#subdateout').val(`${month}/${day}/${year}`);
  });
});

内容的提问来源于stack exchange,提问作者king kong

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.21 18:45:04