Как вы прочтете в спецификации W3 , ваша кнопка имеет поведение по умолчанию submit
. Поэтому ваша форма отправляется за до , когда запускается метод Firebase.
Таким образом, вам нужно явно указать тип кнопки следующим образом:
<button type="button" id="signup">Sign Up</button>
Также обратите внимание, что с JQUery лучше подождать, пока документ не будет «готов»». См. документ , в котором говорится:
Страницу нельзя безопасно манипулировать, пока документ не «готов». JQuery обнаруживает это состояние готовности для вас. Код, включенный в $ (document) .ready (), будет работать только после того, как страница объектной модели документа (DOM) будет готова для выполнения кода JavaScript.
Таким образом, вы можете адаптировать свой код script
какследует:
<script>
$( document ).ready(function() {
// Your web app's Firebase configuration
var firebaseConfig = {
// keep secret
};
// Initialize Firebase
firebase.initializeApp(firebaseConfig);
$('#signup').on('click', function() {
var email = $('#email').val();
var pw = $('#pw').val();
console.log(email);
firebase.auth().createUserWithEmailAndPassword(email, pw).catch(function(error) {
// Handle Errors here.
var errorCode = error.code;
var errorMessage = error.message;
console.log(errorMessage);
});
});
});
</script>