2

我有这样的html代码

<html>
<script type="text/javascript" src='LatihanKuisJs.js'></script>
    <body>
        <form name="kuis">
            <table border="1" width="50%">
                <tr>
                    <th colspan="2" >Celcius
                </tr>
                <tr>
                        <td align="center" width="80%">Kelvin</td>
                        <td align="center"><input type="text" id="kelvin">
                        </td>
                </tr>
                <tr>
                    <td align="center" width="80%">Reamur</td>
                    <td align="center"><input type="text" id="reamur"></td>
                </tr>
                <tr>
                    <td align="center" width="80%">Fahrenheit</td>
                    <td align="center"><input type="text" id="fahrenheit"></td>
                </tr>
            </table>
            <input type="button" value="Calculate" onclick='calculateCelcius();'/>
            <br/><br/>
            <textarea rows="20" cols="90" id="textarea">
            </textarea>
            <br/><br/>
            <input type="button" value="Clear" onclick='clear();'/>
        </form>
    </body>
</html>

和像这样的外部javascript函数:

function calculateCelcius(){
    var kelvin = document.getElementById('kelvin');
    var reamur = document.getElementById('reamur');
    var fahrenheit = document.getElementById('fahrenheit');
    var textarea = document.getElementById('textarea');

    var hasil=(kelvin.value*1 + reamur.value*1 + fahrenheit.value*1);
    textarea.value += hasil + '\n';
}

function clear(){
    document.getElementById("textarea").value="";
}

当我尝试单击页面上的清除按钮时,文本区域不清晰。怎么了?我该怎么办?

4

3 回答 3

10

只需将您的函数重命名clear为类似的名称clearTextarea,它就会起作用。

clear()方法指的是过时的document.clear()方法,在MDN中描述为:

此方法用于在 Mozilla 的早期(1.0 之前)版本中清除整个指定文档。在基于 Mozilla 的应用程序的最新版本以及 Internet Explorer 和 Netscape 4 中,此方法不起作用。

同样根据HTML5 规范

clear()方法必须什么都不做。

参考:

  1. https://developer.mozilla.org/en-US/docs/DOM/document.clear
  2. http://www.whatwg.org/specs/web-apps/current-work/multipage/obsolete.html#dom-document-clear
于 2013-04-12T10:47:37.743 回答
1

如果您使用这样的功能

function clearInput(element){
element.value="";
}

然后在输入中添加这个

onfocus="clearInput(this)"

这可以多次用于任何文本字段或文本区域,因为对象的 id 是在它调用函数的地方传递的。

基拉

于 2014-01-24T17:30:20.217 回答
-2

尝试在定义 onclick 事件时在函数名称前添加 javascript:。
像这样的东西:

<input type="button" value="Clear" onclick='javascript: clear();'/>
于 2013-04-12T10:48:07.373 回答