5

我正在尝试修改特定内容的 innerHTML div,但无法删除该内容的内容div。我有以下代码:

<!DOCTYPE html>
<html>
    <head>
        <title>Test</title>
        <meta http-equiv="content-type" content="text/html; charset=UTF-8">
    </head>
    <body>
        <script type="text/javascript">
            function reset() {
                document.getElementById("results").innerHTML = "";
            }
            function check () {
                document.getElementById("results").innerHTML = "foo";
            }
        </script>
        <form name="form1">
            <input type="button" value="Check" onclick="check();">
            <input type="button" value="Reset" onclick="reset();">
        </form>
        <div id="results"></div>
    </body>
</html>

谁能指出我做错了什么?

提前致谢。

4

2 回答 2

8

那是因为reset表单中已经有一个函数,并且这个函数被调用而不是你自己的。更改该名称,它将起作用。

    <script type="text/javascript">
        function r2() {
            document.getElementById("results").innerHTML = "";
        }
        function check () {
            document.getElementById("results").innerHTML = "foo";
        }
    </script>
    <form name="form1">
        <input type="button" value="Check" onclick="check();">
        <input type="button" value="Reset" onclick="r2();">
    </form>
    <div id="results"></div>

示范

这种问题是避免内联函数调用的另一个原因。一个首选的方法是

 <form name="form1">
        <input type="button" value="Check" id=check>
        <input type="button" value="Reset" id=reset>
 </form>
 <div id="results"></div>
 <script type="text/javascript">
       document.getElementById("reset").onclick = function() {
            document.getElementById("results").innerHTML = "";
       }
       document.getElementById("check").onclick = function(){  
           document.getElementById("results").innerHTML = "foo";
       }
</script>
于 2013-06-01T17:26:18.680 回答
2

onclick="window.reset();"
于 2013-06-01T17:28:54.283 回答