繁体   English   中英

尝试从标签获取数据时获取未定义的值

[英]Getting an undefined value when I try to get data from a label

我有一个标签,尝试在其中获取变量中的数据。 当我尝试使用此方法时,由于类型和值undefined ,因此会出现错误。

这是我的HTML代码:

<div class="input-group date" input-type="date" id="startDate">
    @Html.EditorFor(model => model.startDate, new { htmlAttributes = new { @class = "form-control" } })


document.getElementById('description').onchange = function () {
    var startDate = document.getElementById('startDate').value;
    var endDate = document.getElementById('endDate').value;
    var startDate_ms = startDate.getTime();
    var endDate_ms = endDate.getTime();
    var oneDay = 24 * 60 * 60 * 1000; // hours*minutes*seconds*milliseconds
    var diff = Math.round(Math.abs((endDate_ms - startDate_ms) / (oneDay)));
    document.getElementById('description').value = diff.value;
}

假设您的页面上有一个id ='description'的标签,则您实际上不能在标签上使用onchange事件。 看一下文档

当用户提交对元素的值的更改时,将为输入,选择和textarea元素触发change事件。 与输入事件不同,不一定会为元素值的每次更改触发change事件。

即使您可以在标签上放置输入,您也将无法使用change事件,因为更改必须由用户而不是您的代码进行。

当用户提交对元素值的更改时。

因此,我建议您是否使用JQuery来了解一下trigger() ,这是JSFiddle

<button>Change Label</button>
<label id="description"> some value here </label>

$("button").on('click',function(){
     $("#description").text("Value changed").trigger("lblChanged");
});
$("#description").on('lblChanged', function(){
    console.log($("#description").text());
    // Write your code here
});

如果您使用的是香草Javascript,请在此处查看

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM