2016-02-05 76 views
0

所以我有一组文本框,我有一个明确的按钮,但单击时,它只会从顶部框中删除文本。我想知道是否有这种方法可以将所有的盒子都拆下来?JavaScript清除文本框DOM只清除顶部框

function eraseText() { 
    document.getElementById("output").value = ""; 
} 


var sections = { 

    p1 : {sname: "Dynamic Table ", mscore: 20}, 
    p2 : {sname: "IntelliJ Usage ", mscore: 10}, 
    p3 : {sname: "Calender Control", mscore: 30}, 
    p4 : {sname: "Active Form  ", mscore: 20}, 
    p5 : {sname: "Object Database ", mscore: 20} 
}; 

document.write("<pre>"); 
document.write(Object.keys(sections).reduce(function(s, p, i) { 
    var o = sections[p]; 
    return s + (i>0?'<br><br><br><br>':'') + o.sname + '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;' + o.mscore + '&nbsp;&nbsp;&nbsp;' + '<textarea id="output" rows="4" cols="25">' + '</textarea>' + '&nbsp;&nbsp;&nbsp;'}, '') 
); 
document.write("</pre>"); 

然后在HTML我有这样的提交按钮:

<input type="button" value="Clear" onclick="javascript:eraseText();"> 

回答

3

如果你把它包装的所有形式的标签,你可以使用

<input type="reset" /> 

如果不是这样,我会给他们一个类和代码:

function eraseText() { 
    var out = document.querySelectorAll(".out"); 
    for (var i=0;i<out.length;i++) { 
     out[i].value=""; 
    } 
} 

L ooking在你的代码,我也会改变使用文件撰写的,并删除无用javascript:标签

var sections = { 
    p1 : {sname: "Dynamic Table ", mscore: 20}, 
    p2 : {sname: "IntelliJ Usage ", mscore: 10}, 
    p3 : {sname: "Calender Control", mscore: 30}, 
    p4 : {sname: "Active Form  ", mscore: 20}, 
    p5 : {sname: "Object Database ", mscore: 20} 
}; 

document.getElementById("container").innerHTML=Object.keys(sections).reduce(
    function(s, p, i) { 
    var o = sections[p]; 
    return s + (i>0?'<br><br><br><br>':'') + o.sname + 
    '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;' + 
    o.mscore + '&nbsp;&nbsp;&nbsp;' + 
    '<textarea class="out" id="output" rows="4" cols="25"></textarea>' + '&nbsp;&nbsp;&nbsp;' 
    }, ''); 

,给容器

#container { 
    display: block; 
    unicode-bidi: embed; 
    font-family: monospace; 
    white-space: pre; 
} 
+0

一个css如果我不是错在这里,需要一个表单标签来定义重置内容的“范围”。 编辑:但很明显,这是我会建议,因为它更多的语义正确,没有理由创建JavaScript来执行此操作。 – Nopzen

+1

已经试过这个,但现在它没有在浏览器中显示,可能有这个原因发生的原因吗?现在编辑这个作品完美!谢谢 :) –