错误功能onclick jQuery

时间:2017-01-14 18:05:14

标签: javascript jquery html

我是一名新的javascript程序员,我遇到了这个问题:

Uncaught ReferenceError: saluta is not defined
    at HTMLButtonElement.onclick ((index):33)

关于此代码:

<button onclick="saluta()" id = "btn_sa">LOGIN</button>

这是功能:

function saluta(){
            var username = document.getElementById("Name").value;
            var password = document.getElementById("Password").value;
            var blocco = $("<div></br>Ciao </div>");
            if(password === "errata"){
                $(blocco).append(x);
                blocco.appendTo(document.body);
                document.getElementById("btn_sa").disabled = true;
                }else{
                $(blocco).css({
                    "color" : "red"
                    "font-size" : "10px"                    
                    });
                $(blocco).append("Password Errata");
                blocco.appendTo(document.body);
                }
            }

我该如何解决?我&#39;我发现很多人在这个论坛上有同样的问题,但我无法解决它! 对不起,如果我的英语不是很好

4 个答案:

答案 0 :(得分:0)

您的代码中包含错误

"color" : "red"

在该行的末尾缺少,

答案 1 :(得分:0)

您的功能不应包含在任何其他功能中。 许多工具和框架包装您的代码。如果你使用JSFiddle,你应该指定你不希望你的代码被包裹enter image description here

例如,请参阅此代码:

$(function(){
   function my_function(){

   }
})

在这种情况下,my_function()将是未定义的,因为它包含在外部函数中。

答案 2 :(得分:0)

Emanuele,可能有些不对劲。最好的解决方案是使用jQuery 单击事件,如下所示:

<!DOCTYPE html>
<html>
<head>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
    <script type="text/javascript">
    $(document).ready(function(){
        $("#btn_sa").click(function(){
            saluta();
        });
        var saluta = function(){
            var username = document.getElementById("Name").value;
            var password = document.getElementById("Password").value;
            var blocco = $("<div></br>Ciao </div>");
            if(password === "errata"){
                $(blocco).append(x);
                blocco.appendTo(document.body);
                document.getElementById("btn_sa").disabled = true;
                }else{
                $(blocco).css({
                    "color" : "red",
                    "font-size" : "10px"                    
                    });
                $(blocco).append("Password Errata");
                blocco.appendTo(document.body);
            }
        }
    });
    </script>
</head>
<body>
    Name: <input type="text" name="Name" id="Name">
    Password: <input type="password" name="Name" id="Password">
    <button id = "btn_sa">LOGIN</button>
</body>
</html>

答案 3 :(得分:0)

好的,我解决了使用jquery的.click函数:

$('#btn_sa').click(function saluta(){
            var username = document.getElementById("Name").value;
            var password = document.getElementById("Password").value;
            var blocco = $("<div></br>Ciao </div>");
            console.log("funziona");
            if(password === "errata"){
                $(blocco).append(username);
                blocco.appendTo(document.body);
                document.getElementById("btn_sa").disabled = true;
                }else{
                $(blocco).css({
                    "color" : "red",
                    "font-size" : "10px"                    
                    });
                $(blocco).append("Password Errata");
                blocco.appendTo(document.body);
                }
});