浏览器提示Uncaught ReferenceError: button is not defined,请问代码哪里出了问题?

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>无标题文档</title>
<script>
window.onload=function(){
function fun(){

var Ol=document.getElementById("text-name");
var Oin=document.getElementById("hello");
var Oform=document.getElementById("ceshi");
if(Ol.value.trim()==""){
    var label=document.createElement("label")
    label.setAttribute("for","text-name");
    Oform.insertBefore(label,button);
    Ol.labels[1].innerHTML="请输入您的姓名";
    Ol.labels[1].setAttribute("style","font-size:9px;","color","blue")
    
    }

  }
 }

</script>
</head>

<body>
<form id="ceshi">
<label id="nihao" for="text-name">姓名:</label>

<input id="text-name"/>
<input type="button" id="hello" value="验证" onClick="fun()">
</form>

</body>
</html>

阅读 9.8k
1 个回答

button变量没有声明啊~

<!doctype html>
<html>
<head>
    <meta charset="utf-8">
    <title>无标题文档</title>
    <script>

        function fun(){
            var Ol=document.getElementById("text-name");
            var Oin=document.getElementById("hello");
            var Oform=document.getElementById("ceshi");
            if(Ol.value.trim()==""){
                var label=document.createElement("label")
                label.setAttribute("for","text-name");
                Oform.insertBefore(label,Oin);
                Ol.labels[1].innerHTML="请输入您的姓名";
                Ol.labels[1].setAttribute("style","font-size:9px;","color","blue")

            }

        }


    </script>
</head>

<body>
<form id="ceshi">
    <label id="nihao" for="text-name">姓名:</label>

    <input id="text-name"/>
    <input type="button" id="hello" value="验证" onClick="fun()">
</form>

</body>
</html>

写在onload可以

<!doctype html>
<html>
<head>
    <meta charset="utf-8">
    <title>无标题文档</title>
    <script>

        window.onload=function(){
            var Ol=document.getElementById("text-name");
            var Oin=document.getElementById("hello");
            var Oform=document.getElementById("ceshi");
            function fun(){
                if(Ol.value.trim()==""){
                    var label=document.createElement("label")
                    label.setAttribute("for","text-name");
                    Oform.insertBefore(label,Oin);
                    Ol.labels[1].innerHTML="请输入您的姓名";
                    Ol.labels[1].setAttribute("style","font-size:9px;","color","blue")

                }

            }

            Oin.addEventListener("click",fun,this);
        }



    </script>
</head>

<body>
<form id="ceshi">
    <label id="nihao" for="text-name">姓名:</label>

    <input id="text-name"/>
    <input type="button" id="hello" value="验证" >
</form>

</body>
</html>
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题