【问题标题】:Copy the value from one element to another after value has changed?值更改后将值从一个元素复制到另一个元素?
【发布时间】:2017-04-12 23:37:27
【问题描述】:

我的表单上有两个元素,一个是输入文本日期选择器,第二个是输入文本。我想在日期更改后将日期选择器字段中的值复制到第二个输入文本框中。当我点击日期选择器时,我当前的函数将复制当前值,但在我选择另一个不会影响另一个输入字段的日期之后。解决这个问题的最佳选择是什么?这是我的例子:

<td>
    <input type="text" name="addDate_dt" id="addDate_dt" maxlength="10" size="12" value="" readonly="readonly">
</td>

<td>
  <input type="text" name="st_begDt" id="st_begDt" maxlength="10" size="12" value="#Dateformat(st_begDt,'mm/dd/yyyy')#" readonly="readonly">
  <img src='calendar.gif' alt='Calendar' onclick="calendar(event,'o_begDt')";
onMouseup="copyBegDt()">
</td>

function copyBegDt(){
        var begDt = document.getElementById('st_begDt').value;

        if(begDt.trim() !== ''){
            document.getElementById('addDate_dt').value = begDt;
        }else{
            document.getElementById('addDate_dt').value = '';
        }
    }

我还想在页面加载时填充 addDate_st 字段。旁注,我不想修改我的日历功能,因为它也在我的应用程序的其他页面上使用。

【问题讨论】:

标签: javascript


【解决方案1】:

如果 st_begDt 已经正确更新,那么在该输入上创建一个更改监视呢?

var begDt = document.getElementById('st_begDt');
begDt.onchange = function() {
    //update other input here
};

【讨论】:

  • 我是否必须从某个地方调用此函数,或者它应该在每次更改开始日期时触发?我已经尝试过,但对我不起作用。
  • @espresso_coffee 您需要将它放在某种“document.ready”函数中,这样它就会在页面呈现后开始观看。如果您不使用 jquery,请将其放入如下内容:stackoverflow.com/questions/799981/…
  • @espresso_coffee 这解决了您的问题吗?如果我能提供进一步帮助,请告诉我。
  • 我采用了不同的解决方案。我在日期选择器上设置的函数已被修改,我能够传递我的函数。这解决了问题。感谢您的帮助。
猜你喜欢
  • 1970-01-01
  • 2010-11-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-09-14
  • 2011-05-28
  • 2012-09-27
相关资源
最近更新 更多