Запись в базу данных Firebase Realtime с помощью кнопки HTML не работает - PullRequest
0 голосов
/ 22 октября 2019

Я пытаюсь создать очень простую базу данных Firebase Realtime, где я просто создаю дочерний элемент и затем устанавливаю значение. Но здесь я не изменяю никаких значений.

У меня есть общедоступные правила, и каждый может читать и писать, так что это не проблема аутентификации. Я пытался с firebase.database()ref().child("Value").set("Another value"), но не работает. Я его инициализировал, пробовал хостинг через локальный и хостинг через Firebase Hosting, тоже не работает. Я пробовал на мобильном телефоне, он тоже не работает.

HTML-код:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Dispensador</title>
    <link rel="stylesheet" href="style.css" />
    <link rel="stylesheet" href="https://use.typekit.net/jmo2njo.css">
</head>
<body>
    <h1>SELECCIONA TU BEBIDA</h1>
    <div class = "botones">
        <a href= "Subpaginas/cocaCola.html"><button id="close-image" onclick="submmitClick()"><img src="Images/cocaColaCircle.png"></button></a>
        <a href= "Subpaginas/cocaColaZero.html"><button id="close-image"><img src="Images/cocaColaZeroCircle.png"></button></a>
        <a href= "Subpaginas/sprite.html"><button id="close-image"><img src="Images/spriteCircle.png"></button></a>
        <a href= "Subpaginas/fanta.html"><button id="close-image"><img src="Images/fantaCircle.png"></button></a>
    </div>

    <!-- The core Firebase JS SDK is always required and must be listed first -->
    <script src="https://www.gstatic.com/firebasejs/7.2.1/firebase-app.js"></script>

    <!-- TODO: Add SDKs for Firebase products that you want to use
        https://firebase.google.com/docs/web/setup#available-libraries -->
    <script src="https://www.gstatic.com/firebasejs/7.2.1/firebase-analytics.js"></script>
    <script src="https://www.gstatic.com/firebasejs/7.2.1/firebase-database.js"></script>
    <script>
        // Your web app's Firebase configuration
        var firebaseConfig = {
            "HERE ARE ALL MY CONFIG DATA AND IT'S OK. I'VE CHECKED A HUNDRED TIMES"
        };
        // Initialize Firebase
        firebase.initializeApp(firebaseConfig);
        firebase.analytics();

        function submmitClick() {
            window.alert("Wenaaaa sotooo")
            firebase.database().ref().child("Hola").set("Some value")
        }
    </script>
    <script src="index.js"></script>
</body>
</html>

Javascript Code:

// Set the configuration for your app
  // TODO: Replace with your project's config object
  var config = {
    "HERE ARE ALL MY CONFIG DATA AND IT'S OK. I'VE CHECKED A HUNDRED TIMES"
  };
  firebase.initializeApp(config);
  firebase.database().goOnline();

// Get a reference to the database service
var database = firebase.database();

function submmitClick() {
        window.alert("Wenaaaa sotooo")
        firebase.database().ref().child("Value").set("Some value")
}

Итак, в заключение, проблема заключается в том, что страница ничего не меняет в моей базе данных.

1 Ответ

0 голосов
/ 22 октября 2019

Это потому, что ваша кнопка кодируется следующим образом:

<a href= "Subpaginas/cocaCola.html"><button id="close-image" onclick="submmitClick()"><img src="Images/cocaColaCircle.png"></button></a>

Вы включаете ее в тег a href: в результате событие onClick не вызывается.

Просто сделайте следующее, и это будет работать.

<button id="close-image" onclick="submmitClick()"><img src="Images/cocaColaCircle.png"></button>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...