我有一个窗体,其ID为相应输入框的名称,标题和说明。 但是,当我尝试在HTML中显示这些值时,我会收到“[object HTMLInputElement]”或“undefined”。窗体输入文本显示为“未定义”或“[object HTMLInputElement]”
我得到的以下代码块,我已经声明的变量名称,标题和描述全球职能以外的检索输入值“未定义”。
var name;
var title;
var description;
document.getElementById("name").onchange = function(){
name = document.getElementById("name").value;
};
document.getElementById("title").onchange = function(){
title = document.getElementById("title").value;
};
document.getElementById("description").onchange = functio){
description = document.getElementById("description").value;
};
var myhtml = '<p>' + name + '</p><p>' + title + '</p><p>' + description + '</p><p>';
不过,我得到[对象HTMLInputElement]如果我代替声明函数中的变量(而不是 “全局”?),像这样:
document.getElementById("name").onchange = function(){
var name = document.getElementById("name").value;
};
MYHTML是变量,其打印在DOM中。
这是怎么回事?如果我将它们全局声明,我已经尝试将名称,标题和描述传递给函数。但是这并没有解决问题(我仍然有“[object HTMLInputElement]”)。
'undefined',因为变量不是在运行时(你设置事件侦听器里面的值,这显然有没有被触发时'定义MYHTML '被宣布)。 '[object HTMLInputElement]',因为具有ID属性的元素可以作为window [“id_of_element”]'访问,前提是不存在名为'id_of_element'的全局变量。 – 2013-03-22 23:43:56
myhtml如何在DOM中“打印”?您已经定义了onchange事件,所以除了处理程序之外,这些值不会显示。 – 2013-03-22 23:59:10
感谢评论家伙。现在我正在修改函数分解,范围和运行时间,正如@RobW的评论暗示给我的。上面这段代码是双重嵌套的“click”函数的一部分,它们在两个dom/window初始函数中。所以事情可能变得混乱。 – LazerSharks 2013-03-23 00:10:41