仅使用javascript清除DIV中的所有文本字段

仅使用javascript清除DIV中的所有文本字段,javascript,textfield,Javascript,Textfield,我想用一个按钮清除给定DIV中所有文本字段的内容。我正在使用以下javascript代码: <div id="block1"> <table> <tr> <td><!--somefields--></td> </tr> <tr> <td><input type="button" o

我想用一个按钮清除给定DIV中所有文本字段的内容。我正在使用以下javascript代码:

<div id="block1">
    <table>
        <tr>
            <td><!--somefields--></td>
        </tr>
        <tr>
            <td><input type="button" onclick="clear('block1')" value="clear"></td>
        </tr>
    </table>
</div>
<script type="text/javascript">
    function clear(fieldid) {
        document.getElementById(fieldid).childNodes[3].innerHTML='';
    }
</script> 

功能清除(字段ID){
document.getElementById(fieldid).childNodes[3].innerHTML='';
}
但它不起作用。怎么了


谢谢。

您可以从所需的
div
中选择所有输入,并在循环中将其值设置为空

function clear(fieldid) {
    var container = document.getElementById(fieldid);
    var inputs = container.getElementsByTagName('input');
    for (var index = 0; index < inputs.length; ++index) {
        inputs[index].value = '';
    }
}
功能清除(字段ID){
var container=document.getElementById(fieldid);
var inputs=container.getElementsByTagName('input');
对于(var指数=0;指数
下面是一段使用示例输入文本框为您工作的代码


函数clearFields(fieldid){
var容器、输入、索引;
容器=document.getElementById(fieldid);
inputs=container.getElementsByTagName('input');
用于(索引=0;索引
文本字段是什么意思?输入?是的,您可以在其中输入一行文本的字段。您可以共享完整的代码吗?将整个内容包装在一个表单中,包括一个重置按钮。不需要脚本。或者由于不必要的复杂性,调用表单的reset方法。代码太多了。我已经包括了它最相关的部分。我试过了,但是没有用。你能简单点吗?对不起,我弄错了。您应该使用
value
而不是
val
。我的jquery习惯。更新了我的答案。现在它工作了,但是它也清除了按钮的值。哈哈,这是正确的答案。非常感谢。我只是想知道你是否可以通过取消循环使它变得更简单。你可以自己尝试这种定制:)我看到的唯一方法是分别声明每个文本字段,因为我只有4个,这将使代码更短,但是你的解决方案可以为所有字段完成任务,不管有多少个字段。谢谢