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

Clear all textfields inside a DIV with javascript only

我想用一个按钮清除给定 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> 

但它不起作用。怎么了?

谢谢。

您可以 select 需要 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 = '';
    }
}

下面的一段代码适用于示例输入文本框

<div id="block1">
     <table>
      <tr>
       <td><input type="text" value="Hello"/></td>
      </tr>
      <tr>
       <td><input type="button" onclick="clearFields('block1')" value="clear"></td>
      </tr>
     </table>
    </div>
    <script type="text/javascript">
        function clearFields(fieldid) {
        var container, inputs, index;

        container = document.getElementById(fieldid);
        inputs = container.getElementsByTagName('input');
        for (index = 0; index < inputs.length; ++index) {
         if(inputs[index].type =="text")
            inputs[index].value = '';
        }
    }
    </script>