【问题标题】:Firebase can't get my input value for authFirebase 无法获取我的身份验证输入值
【发布时间】:2019-03-16 22:09:45
【问题描述】:

我正在尝试使用 Firebase 创建一个输入系统,但我无法读取输入到输入中的值。顺便说一下,Firebase在我尝试的时候在控制台上运行结果是成功的。

但是好像出了点问题,我不知道你在哪里。例如,我从某个地方下载了它,但我在那里工作时它在这里不起作用。

我需要帮助,谢谢

firebase.auth().onAuthStateChanged(function(user) {
    if (user) {
        // User is signed in.
        const user = firebase.auth().currentUser;
        if(user != null){
            const email_id = user.email;
            console.log("Welcome User: " + email_id)
        }
    } else {
        console.log("No one here.");
    }
});


function userlogin(){
    const user_email = document.getElementById("user_email").valueOf();
    const user_pass  = document.getElementById("user_pass").valueOf();
    firebase.auth().signInWithEmailAndPassword(user_email, user_pass).catch(function(error) {
        // Handle Errors here.
        const errorMessage = error.message;
        window.alert("Error : " + errorMessage);
    });
}
  <div class="container" style="margin-top:10%;">
      <div class="row main-div" id="login_area">
          <div class="col-md-5">
              <h3 class="text-center">Chairboard Login</h3><br><br>
              <form role="form">
                  <div class="form-group">
                      <input placeholder="E-Mail Address" type="email" class="form-control" id="chair_email" />
                  </div>
                  <div class="form-group">
                      <input placeholder="Password" type="password" class="form-control" id="chair_pass" />
                  </div>
                  <button type="submit" class="btn btn-primary" onclick="chairLogin()">Login to Account</button>
              </form>
          </div>
          <div class="col-md-2" style="margin-top: 5%; margin-bottom: 5%;"></div>
          <div class="col-md-5">
              <h3 class="text-center">Delegate Login</h3><br><br>
              <form role="form">
                  <div class="form-group">
                      <input placeholder="E-Mail Address" type="email" class="form-control" id="user_email"/>
                  </div>
                  <div class="form-group">
                      <input placeholder="Password" type="password" class="form-control" id="user_pass"/>
                  </div>
                  <button type="submit" class="btn btn-primary" onclick="userlogin()">Login to Account</button>
              </form>
          </div>

      </div>
  </div>


  <!-- Optional JavaScript -->
  <script src="https://www.gstatic.com/firebasejs/5.9.0/firebase.js"></script>
  <script>
      // Initialize Firebase
      const config = {
          apiKey: "xxx",
          authDomain: "xxx",
          databaseURL: "xxx",
          projectId: "xxx",
          storageBucket: "xxx",
          messagingSenderId: "xxx"
      };
      firebase.initializeApp(config);
      console.log("Firebase Loaded");
  </script>
  <script src="app/sign.js"></script>

【问题讨论】:

    标签: javascript firebase web firebase-authentication


    【解决方案1】:

    你想要邮箱和密码的值,所以

    const user_email = document.getElementById("user_email").valueOf();
    const user_pass  = document.getElementById("user_pass").valueOf();
    

    应该变成

    const user_email = document.getElementById("user_email").value;
    const user_pass  = document.getElementById("user_pass").value;
    

    【讨论】:

    • 不,刚刚重新加载了页面,但是当将登录代码 firebase.auth().signInWithEmailAndPassword(user_email, user_pass) 写入控制台时它正在工作。
    • 另外,我的链接栏上有一个问号,所以对于 Firebase 中的身份验证,我们需要一些操作吗?喜欢,重定向到另一个页面。
    • 您在表单中有&lt;button type="submit"&gt;,因此当您单击按钮时,它正在提交表单并导致刷新。查看preventDefault。
    • 删除表单标签后重新加载问题已解决并加载成功。感谢您抽出时间为我服务!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-12-12
    • 2019-12-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-21
    • 1970-01-01
    相关资源
    最近更新 更多