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

Grid选中行日期字段无法赋值给Form的IskurDateBox控件问题

解决IskurDateBox控件赋值失败的问题

问题分析

直接通过document.getElementById('dtCikisTarih').value赋值无效,核心原因是IskurDateBox是自定义服务器控件,渲染后并非原生input元素,它内部通常封装了原生输入框、日历弹窗等组件,直接操作外层容器的value属性不会起作用。

解决方案

1. 定位控件内部的原生输入框

打开浏览器开发者工具(F12),找到dtCikisTarih对应的DOM结构,通常会看到类似嵌套结构:

<div id="dtCikisTarih" class="iskur-datebox">
  <input type="text" id="dtCikisTarih_Input" class="iskur-date-input" />
  <!-- 日历控件相关元素 -->
</div>

修改脚本,直接给内部的原生input赋值:

function callme(e) {
    var tds = e.parentNode.parentNode.getElementsByTagName('td');
    document.getElementById('txtFirmaAdi').value = tds[2].innerHTML.trim();
    
    // 替换为实际渲染出的内部input的ID
    document.getElementById('dtCikisTarih_Input').value = tds[7].innerHTML.trim();
}

2. 使用控件提供的客户端API(推荐)

多数自定义ASP.NET控件会暴露客户端操作方法,比如设置日期的setDate或setValue,查看Iskur控件文档找到对应API后,可这样修改:

function callme(e) {
    var tds = e.parentNode.parentNode.getElementsByTagName('td');
    document.getElementById('txtFirmaAdi').value = tds[2].innerHTML.trim();
    
    // 假设控件提供了getInstance和setDate方法
    var dateControl = IskurDateBox.getInstance('dtCikisTarih');
    dateControl.setDate(tds[7].innerHTML.trim());
}

3. 验证并匹配日期格式

如果控件要求特定日期格式(如dd/MM/yyyy),而Grid中BITISTARIHI的格式是dd.MM.yyyy,需要先转换格式:

function callme(e) {
    var tds = e.parentNode.parentNode.getElementsByTagName('td');
    document.getElementById('txtFirmaAdi').value = tds[2].innerHTML.trim();
    
    var rawDate = tds[7].innerHTML.trim();
    // 将点分隔的日期转换为斜杠分隔(根据控件要求调整格式)
    var formattedDate = rawDate.replace(/\./g, '/');
    document.getElementById('dtCikisTarih_Input').value = formattedDate;
}

4. 确认列索引正确性

可通过控制台验证tds[7]的取值是否正确:

function callme(e) {
    var tds = e.parentNode.parentNode.getElementsByTagName('td');
    console.log(tds[7].innerHTML.trim()); // 查看控制台输出的日期值是否符合预期
    // ...其他赋值代码
}

内容的提问来源于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:33:25