Веб-ссылка Firebase пустая в обратном вызове кнопки при нажатии - PullRequest
0 голосов
/ 30 мая 2018

Я пытаюсь установить значение для ссылки на базу данных через Firebase Web API.Это работает, когда я вызываю функцию set в простом js-скрипте.Однако это не проходит, когда я пытаюсь сделать то же самое с помощью простой кнопки.

Фрагмент HTML-кода:

<html>  
    <head>
        <meta charset="utf-8">
        <title>Organiser</title>
    </head>
    <body>  
        <script src="https://www.gstatic.com/firebasejs/5.0.4/firebase.js"></script>

        <form>
            <button id="sub"></button>
        </form>

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


    </body>
</html>

Фрагмент JS-кода:

(function() {
          // Initialize Firebase
    console.log("Initialising Firebase");
      var config = {
        apiKey: "xxxxxxxxxxxxxxxxxxxxxxxx",
        authDomain: "xxxxxxxxxxxxxxxxxxxxxxxx",
        databaseURL: "xxxxxxxxxxxxxxxxxxxxxxxx",
        projectId: "xxxxxxxxxxxxxxxxxxxxxxxx",
        storageBucket: "xxxxxxxxxxxxxxxxxxxxxxxx",
        messagingSenderId: "xxxxxxxxxxxxxxxxxxxxxxxx"
      };
      firebase.initializeApp(config);

    firebase.database().ref().child('events').set("WORKS");     
    const buttonsub = document.getElementById('sub');
    sub.onclick = function(){
        console.log("before");
        firebase.database().ref().child('events').set("DOESNT WORK");
        console.log("after");

    }


}());

" РАБОТАЕТ " будет записано, но " НЕ РАБОТАЕТ * " не будет.

Ответы [ 2 ]

0 голосов
/ 31 мая 2018

Еще один ответ на вашу проблему будет делать:

var btn = document.getElementById('sub');
btn.addEventListener("click", function(){
    var ref = firebase.database().ref('events');
    ref.set("This should work now");
});
0 голосов
/ 30 мая 2018

Печатают ли другие журналы внутри обработчика событий?Мне кажется, что они не будут, так что ваша проблема с обработкой события.

Вы используете неправильное имя переменной, посмотрите на следующие строки:

const buttonsub = document.getElementById('sub');
sub.onclick = function() {

Это должно быть:

const buttonsub = document.getElementById('sub');
buttonsub.onclick = function() {
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...