表单输入文本显示为"undefined"或"[objecthtmlinpuelement]
form input text showing up as either "undefined" or "[object HTMLInputElement]"
我有一个带有id名称、标题和各自输入框描述的表单。然而,当我试图在HTML中显示这些值时,我要么收到"[objecthtmlinputelement]"或"undefined"。
我得到"undefined"对于下面的代码块,我在函数之外全局声明了变量name, title和description 来检索输入值。
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>';
然而,我得到[object HTMLInputElement]如果我在函数内声明变量(而不是"全局"?),像这样:
document.getElementById("name").onchange = function(){
var name = document.getElementById("name").value;
};
myHTML是在DOM中打印的变量。
这是怎么回事?我已经尝试将名称、标题和描述传递到函数中,如果我对它们进行全局声明的话。但这并没有解决问题(我仍然得到"[objecthtmlputelement]")。
"undefined"的值是由于"onchange"事件没有触发,直到输入发生变化。这个例子说明了我的观点:http://jsfiddle.net/gR8td/。注意,在为输入元素键入值之后,将显示全局变量的新值。我添加了以下函数来输出这些值:
function showInputs() {
var myhtml = '<p>' + name + '</p><p>' + title + '</p><p>' + description + '</p>';
var elem=document.getElementById('output');
elem.innerHTML = myhtml;
}
相关文章:
- 铬:“;未捕获的语法错误:意外的标记:"
- 可以设置“;文件名"发生错误时显示的内联脚本标记的
- JS表单提交"无法使用Chrome数据保护程序加载此页面.尝试重新加载页面.调试信息:POST CISmtuK
- 检测电话窃听,即:<a href="电话:xxx">在UIWebview上
- 使用“+="操作人员
- //而不是在src=“”上使用http://"属性
- "未捕获的语法错误:意外的标记}"
- 可以<脚本类型=“;text/javascript”>window.location=“/"</
- "实例范围”;TypeScript类的getter/setter
- Javascript复选框函数:;缺少:在属性id之后"
- "“;变量未引用正确的对象
- "日期“;AJAX请求返回的类型值未定义
- 得到"TypeError:无法读取属性'filename'未定义的“;调用“npm start
- Soundcloud api"未捕获的类型错误:无法读取属性'uri'“未定义”;
- "工具提示"jQuery插件坏了
- "锻造;React中的表达式
- 图像可以从源<img src=""/>.TEXT可以在没有javascript的情况下从外部
- 如何提取“;href"最近列表项中的属性值
- CKEditor如何允许href="javascript:void(0)"在小部件中
- 插入“;img src"在javascript中