Javascript 按钮没有响应

标签 javascript firebase-authentication

我是 Javascript 新手,正在学习本教程 here

它将 Android 应用程序连接到 fireabse Web 应用程序。 但 firebase web 应用程序中的登录按钮在单击时没有响应。 它会产生以下错误

Uncaught ReferenceError :配置未定义 在 app.js:11 (匿名)@app.js:11 error.ts:101 Uncaught FirebaseError: Firebase: 未创建 Firebase 应用程序“[DEFAULT]” - 调用 Firebase App.initializeApp() (app/no-app)。 在l (http://localhost:5000/__/firebase/6.6.1/firebase-app.js:1:10041) 在 Object.i [作为身份验证] (http://localhost:5000/__/firebase/6.6.1/firebase-app.js:1:9592) 在http://localhost:5000/:41:22

我尝试使用从 Why is Javascript button not working? 获得的 onclick 函数但还是没有反应。

我还尝试使用 firebase init 然后使用 firebaseserve 代替 http-server 但这也不起作用

<body class="bg-dark">
  <script src="/__/firebase/6.6.1/firebase-app.js"></script>

          <script src="/__/firebase/6.6.1/firebase-auth.js"></script>

    <div id="login-card" class="card">
        <div class="card-body">
            <h1>Admin Panel</h1>
            <form id="login-form">
                <div class="form-group">
                    <label for="email">email</label>
                    <input type="email" id="email" class="form-control" />
                </div>
                <div class="form-group">
                        <label for="password">Password</label>
                        <input type="password" id="password" class="form-control" />
                </div>
                <div class="form-group">
                    <button id="btn-login" type="button" class="btn btn-primary">Login</button>
                </div>
            </form>
        </div>
    </div>

    <script src="js/app.js"></script>

    <script>

        firebase.auth().onAuthStateChanged(function(user){
            if(user){
                window.location.href = "admin.html";
            }
        });

    </script>

</body>

app.js

var firebaseConfig = {
...
};

firebase.initializeApp(config);

firebase.auth.Auth.Persistence.LOCAL; 

$("#btn-login").click(function(){

    var email = $("#email").val();
    var password = $("#password").val(); 

    var result = firebase.auth().signInWithEmailAndPassword(email, password);

    result.catch(function(error){
        var errorCode = error.code; 
        var errorMessage = error.message; 

        console.log(errorCode);
        console.log(errorMessage);
    });

});

最佳答案

您需要用 $(document).ready() 包装才能使其正常工作:

$(document).ready(function() {
  $("#btn-login").click(function() {
    console.log("It's working");
  });
});
<script src="https://code.jquery.com/jquery-3.4.1.min.js"></script>

<button id="btn-login" type="button" class="btn btn-primary">Login</button>

<小时/>

您需要使用选择器在文档上绑定(bind)事件

$(document).on('click', '#btn-login', function() {
  console.log("It's working");
});
<script src="https://code.jquery.com/jquery-3.4.1.min.js"></script>

<button id="btn-login" type="button" class="btn btn-primary">Login</button>

关于Javascript 按钮没有响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58006527/

相关文章:

Angular2 - 不在 'node_modules' 中查找特定模块

javascript - Monkeypatch Javascript 日期对象

java - 登录设计逻辑

javascript - jQuery - 选择下一个输入/通过更改选择值进行选择

javascript - 具有固定比例和最小宽度的旋转木马图像

firebase - flutter + Firebase : how to send email verification

java - 匿名身份验证注销后 FirebaseUser 不为 null

ios - 重新验证用户凭据 Swift

javascript - 当在 if 条件下检查索引变量时,Array.Splice() 不会删除零索引处的元素

JavaScript 土耳其手机号码验证