innerHTML显示不出来自己输入的内容

55wish 发布于 2013/01/07 16:09
阅读 2K+
收藏 0
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>无标题文档</title>
</head>


<body>
<form method="get" id="theForm">
  <fieldset style="width:300px;">
    <legend style="font-family:'Lucida Sans Unicode', 'Lucida Grande', sans-serif;">Enter an Item To Be Done!</legend>
    <div style="width:40px; height:50px; float:left;"></div>
    <div>
      <label for="task" style=" display:inline-block; width:32px;">Task</label>
      <input type="text" name="task" id="task" required>
    </div>
    <label for="blank" style="display:inline-block; margin-top:20px;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</label>
    <input type="submit" value="Add it!" id="submit" style="width:70px;">
    <div id="output"></div>
    <div id="list"></div>
  </fieldset>
</form>
<script type="text/javascript">
var tasks=[];
function addTask(){
"use strict";
var task=document.getElementById("task");
var output=document.getElementById("output");
var list=document.getElementById("list");
var message="";
var li="";
if (task.value){
tasks[tasks.length]=task;
message="You have "+tasks.length+" task(s) in your to-do list.";
if(output.textContent!==undefined){
output.textContent=message;
}else{
output.innerText=message;
}
for(var i=0,cnt=tasks.length;i<cnt;i++){
li+="<li>"+tasks[i]+"</li>";
}
li="<ol>"+li+"</ol>";
list.innerHTML=li;
}
return false;
}
function init(){
"use strict";
document.getElementById("theForm").onsubmit=addTask;
}
window.onload=init;
</script>
</body>

</html>

kao啊!手机上黏贴不了,我开着手机无线共享用电脑上网黏贴,这个月悲剧了!

问题如下:用浏览器打开输入内容后,提交表单不能显示自己输入的内容,只显示[object HTML InputElement]

这是为什么啊?

加载中
0
只会百度的程序员
只会百度的程序员

tasks[tasks.length]=task.value;
只会百度的程序员
只会百度的程序员
回复 @55wish : 差不多吧。。。
55wish
55wish
thanks!就是说我当初把节点赋值给数组了,加了value后就是把输入的字符劝赋值给数组了是吗?
只会百度的程序员
只会百度的程序员
回复 @55wish : 你的写法存的是节点,我的写法存的是字符串,就是这样了。。。
55wish
55wish
测试了下,好了,但是为什么啊?
0
MeiKai
MeiKai

问题在这里

var task=document.getElementById("task"); 

而你下面 tasks[tasks.length]=task,task是一个DOM对象,你把这个赋值,当然会显示[Object HTML InputElement],改为task.value

55wish
55wish
初学html,额,我还是去了解下DOM吧
MeiKai
MeiKai
@55wish 赋值可以这样task.value='你的值',这个是input,textarea的赋值方法,如果是节点内的html代码使用task.innerHTML
55wish
55wish
ok!问题解决 弱弱的问一下 可以给DOM对象赋值吗? 就是说.value就是对task这个DOM对象赋值,对吗?
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部