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

如何在JavaScript中设置日期字段?脚本执行后表单字段仍为空

解决IskurDateBox日期字段赋值为空的问题

你的问题出在直接将Date对象赋值给控件的value属性,这类ASP.NET自定义日期控件通常需要特定格式的字符串,或者有专属的客户端API来设置值,以下是两种可行的解决方案:

方案1:转换为符合要求的日期字符串格式

如果控件渲染后是普通的input元素,先将Date对象转为控件可识别的日期格式(比如yyyy-MM-dd,可根据控件实际要求调整):

function callme(e) {
    let today = new Date();
    // 格式化为 yyyy-MM-dd 字符串
    const year = today.getFullYear();
    const month = String(today.getMonth() + 1).padStart(2, '0'); // 月份从0开始,需+1并补零
    const day = String(today.getDate()).padStart(2, '0');
    const formattedDate = `${year}-${month}-${day}`;
    
    document.getElementById('dtCikisTarih').value = formattedDate;
    // 若需要触发服务器端按钮事件,返回true;若仅执行客户端逻辑,返回false
    return true;
}

方案2:使用控件专属的客户端API

IskurDateBox作为自定义服务器控件,大概率提供了客户端操作方法,你可以尝试通过控件的客户端实例来设置值(类似多数ASP.NET第三方控件的实现):

function callme(e) {
    let today = new Date();
    // 获取控件的客户端实例(部分控件用$find,需根据Iskur控件文档确认)
    const dateBox = $find('dtCikisTarih');
    if (dateBox) {
        // 调用控件的日期设置方法,方法名需参考控件文档,比如setDate/set_value等
        dateBox.set_date(today);
    }
    return true;
}

额外检查项

  • 确认clientidmode="static"生效:通过浏览器F12开发者工具查看控件渲染后的HTML元素ID,确保是dtCikisTarih。
  • 参考IskurDateBox官方文档:确认控件支持的日期格式或客户端API,这是最准确的解决依据。

内容的提问来源于stack exchange,提问作者Haluk Öztürk

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 11:42:19