首页 > 解决方案 > 为什么我的数据没有从这个 javascript 代码发送到 firebase?

问题描述

这是我的反馈页面的代码。它的目的是从患者那里获得反馈。我面临的问题是数据没有被发送到火力基地。我曾尝试在另一个页面上使用类似的代码,它运行良好,但即使在开始时它也没有工作,尽管一次又一次地部署网站,最终在我输入后它工作console.log()。其次,提交按钮应该重定向到index.html但它不起作用。

<!DOCTYPE html>
<html lang="en" >
<head>
  <meta charset="UTF-8">
  <title>star-rating</title>
  <link rel="stylesheet" 
 href="https://cdnjs.cloudflare.com/ajax/libs/normalize/5.0.0/normalize.min.css">
<link rel="stylesheet" href="css/feedback.css">
<script src="https://cdnjs.cloudflare.com/ajax/libs/prefixfree/1.0.7/prefixfree.min.js"></script>

</head>
<body>
<!-- partial:index.partial.html -->
<svg style="display: none"><symbol id="star" viewBox="0 0 1024 1024"><polygon points="512 0 627 354 
 999 354 698 572 813 926 512 708 211 926 326 572 25 354 397 354 512 0"/></symbol></svg>

<div id="modal">
    <div class="overlay">
        <div class="feedback container--small align--center">
        <a href="index.html">
            <button id="close">Close</button>
            </a>
            <h1 class="feedback__title">Patient Feedback</h1>
            <p class="feedback__description">Please let us know how our service was. It will really 
            help us to keep improving our service!</p>
            <form class="feedback_form">
            <table style="width:100%">
            <tr>
            <td>
            <label>MR Number</td>  <td> <input type="text" name="mrnum" id="mrnum" placeholder="Enter 
            MR Number" required></label>
            </td>
            </tr>
            <tr>
            <td>
            <label>Department</td>  <td> <input type="text" name="dept" id="dept" pattern="[A-Za-z] 
            {1,25}" placeholder="Enter Department" required></label>
            </td>
            </tr>
            <tr>
            <td>
            <label>Doctor Name</td>  <td> <input type="text" name="doc" id="doc" pattern="[A-Za-z] 
            {1,25}" placeholder="Enter Doc Name" required></label>
            </td>
            </tr>
            </table>
                <fieldset class="rating registration.attitude">
                <table style="width:100%">
                <tr>
                <th>Registration</th>
                <th>Rating</th>
                </tr>
                <tr>
                <td>
                    <legend>Attitude of staff</legend>
                </td>
                    <td>
                    <div class="flex-container" required>
                        <input type="radio" id="regAtt-5" name="rating__regAtt" value="5">
                        <label for="regAtt-5"><svg><title>Five Stars</title><use xlink:href="#star"> 
                        </use></svg></label>
                        <input type="radio" id="regAtt-4" name="rating__regAtt" value="4">
                        <label for="regAtt-4"><svg><title>Four Stars</title><use xlink:href="#star"> 
                        </use></svg></label>
                        <input type="radio" id="regAtt-3" name="rating__regAtt" value="3">
                        <label for="regAtt-3"><svg><title>Three Stars</title><use xlink:href="#star"> 
                        </use></svg></label>
                        <input type="radio" id="regAtt-2" name="rating__regAtt" value="2">
                        <label for="regAtt-2"><svg><title>Two Stars</title><use xlink:href="#star"> 
                        </use></svg></label>
                        <input type="radio" id="regAtt-1" name="rating__regAtt" value="1">
                        <label for="regAtt-1"><svg><title>One Star</title><use xlink:href="#star"> 
                        </use></svg></label>
                        </td>
                    </div>
                    </tr>
                </fieldset>
                <fieldset class="rating registration.info">
                <tr>
                <td>
                    <legend>Information and Assistance</legend>
                </td>
                <td>
                    <div class="flex-container" required>
                        <input type="radio" id="regInfo-5" name="rating__regInfo" value="5">
                        <label for="regInfo-5"><svg><title>Five Stars</title><use xlink:href="#star"> 
                        </use></svg></label>
                        <input type="radio" id="regInfo-4" name="rating__regInfo" value="4">
                        <label for="regInfo-4"><svg><title>Four Stars</title><use xlink:href="#star"> 
                        </use></svg></label>
                        <input type="radio" id="regInfo-3" name="rating__regInfo" value="3">
                        <label for="regInfo-3"><svg><title>Three Stars</title><use 
                        xlink:href="#star"></use></svg></label>
                        <input type="radio" id="regInfo-2" name="rating__regInfo" value="2">
                        <label for="regInfo-2"><svg><title>Two Stars</title><use xlink:href="#star"> 
                        </use></svg></label>
                        <input type="radio" id="regInfo-1" name="rating__regInfo" value="1">
                        <label for="regInfo-1"><svg><title>One Star</title><use xlink:href="#star"> 
                    </use></svg></label>
                    </div>
                    </td>
                    </tr>

                <fieldset class="rating registration.process">
                <tr>
                <td>
                    <legend>Registration process</legend>
                </td>
                <td>
                    <div class="flex-container" required>
                        <input type="radio" id="regreg-5" name="rating__regreg" value="5">
                        <label for="regreg-5"><svg><title>Five Stars</title><use xlink:href="#star"> 
                        </use></svg></label>
                        <input type="radio" id="regreg-4" name="rating__regreg" value="4">
                        <label for="regreg-4"><svg><title>Four Stars</title><use xlink:href="#star"> 
                       </use></svg></label>
                        <input type="radio" id="regreg-3" name="rating__regreg" value="3">
                        <label for="regreg-3"><svg><title>Three Stars</title><use xlink:href="#star"> 
                        </use></svg></label>
                        <input type="radio" id="regreg-2" name="rating__regreg" value="2">
                        <label for="regreg-2"><svg><title>Two Stars</title><use xlink:href="#star"> 
                        </use></svg></label>
                        <input type="radio" id="regreg-1" name="rating__regreg" value="1">
                        <label for="regreg-1"><svg><title>One Star</title><use xlink:href="#star"> 
                    </use></svg></label>
                    </div>
                    </td>
                    </tr>
                    </table>
                </fieldset>


                                <fieldset class="rating vitals.attitude">
                <table style="width:100%">
                <tr>
                <th>Vitals</th>
                <th>Rating</th>
                </tr>
                <tr>
                <td>
                    <legend>Attitude of staff</legend>
                </td>
                    <td>
                    <div class="flex-container" required>
                        <input type="radio" id="vitAtt-5" name="rating__vitAtt" value="5">
                        <label for="vitAtt-5"><svg><title>Five Stars</title><use xlink:href="#star"> 
                        </use></svg></label>
                        <input type="radio" id="vitAtt-4" name="rating__vitAtt" value="4">
                        <label for="vitAtt-4"><svg><title>Four Stars</title><use xlink:href="#star"> 
                        </use></svg></label>
                        <input type="radio" id="vitAtt-3" name="rating__vitAtt" value="3">
                        <label for="vitAtt-3"><svg><title>Three Stars</title><use xlink:href="#star"> 
                        </use></svg></label>
                        <input type="radio" id="vitAtt-2" name="rating__vitAtt" value="2">
                        <label for="vitAtt-2"><svg><title>Two Stars</title><use xlink:href="#star"> 
                        </use></svg></label>
                        <input type="radio" id="vitAtt-1" name="rating__vitAtt" value="1">
                        <label for="vitAtt-1"><svg><title>One Star</title><use xlink:href="#star"> 
                        </use></svg></label>
                        </td>
                    </div>
                    </tr>
                </fieldset>
                <fieldset class="rating vitals.info">
                <tr>
                <td>
                    <legend>Information and Assistance</legend>
                </td>
                <td>
                    <div class="flex-container" required>
                        <input type="radio" id="vitals_info-5" name="rating__vitals_info" value="5">
                        <label for="vitals_info-5"><svg><title>Five Stars</title><use 
                        xlink:href="#star"></use></svg></label>
                        <input type="radio" id="vitals_info-4" name="rating__vitals_info" value="4">
                        <label for="vitals_info-4"><svg><title>Four Stars</title><use 
                        xlink:href="#star"></use></svg></label>
                        <input type="radio" id="vitals_info-3" name="rating__vitals_info" value="3">
                        <label for="vitals_info-3"><svg><title>Three Stars</title><use 
                        xlink:href="#star"></use></svg></label>
                        <input type="radio" id="vitals_info-2" name="rating__vitals_info" value="2">
                        <label for="vitals_info-2"><svg><title>Two Stars</title><use 
                        xlink:href="#star"></use></svg></label>
                        <input type="radio" id="vitals_info-1" name="rating__vitals_info" value="1">
                        <label for="vitals_info-1"><svg><title>One Star</title><use 
                    xlink:href="#star"></use></svg></label>
                    </div>
                    </td>
                    </tr>

                <fieldset class="rating vitals.process">
                <tr>
                <td>
                    <legend>Vitals process</legend>
                </td>
                <td>
                    <div class="flex-container" required>
                        <input type="radio" id="vitals_process-5" name="rating__vitals_process" 
                        value="5">
                        <label for="vitals_process-5"><svg><title>Five Stars</title><use 
                        xlink:href="#star"></use></svg></label>
                        <input type="radio" id="vitals_process-4" name="rating__vitals_process" 
                        value="4">
                        <label for="vitals_process-4"><svg><title>Four Stars</title><use 
                        xlink:href="#star"></use></svg></label>
                        <input type="radio" id="vitals_process-3" name="rating__vitals_process" 
                        value="3">
                        <label for="vitals_process-3"><svg><title>Three Stars</title><use 
                         xlink:href="#star"></use></svg></label>
                        <input type="radio" id="vitals_process-2" name="rating__vitals_process" 
                        value="2">
                        <label for="vitals_process-2"><svg><title>Two Stars</title><use 
                        xlink:href="#star"></use></svg></label>
                        <input type="radio" id="vitals_process-1" name="rating__vitals_process" 
                        value="1">
                        <label for="vitals_process-1"><svg><title>One Star</title><use 
                    xlink:href="#star"></use></svg></label>
                    </div>
                    </td>
                    </tr>
                    </table>
                </fieldset>

                                <fieldset class="rating doc.waittime">
                <table style="width:100%">
                <tr>
                <th>Consultant/ Doctor</th>
                <th>Rating</th>
                </tr>
                <tr>
                <td>
                    <legend>Waiting Time</legend>
                </td>
                    <td>
                    <div class="flex-container" required>
                        <input type="radio" id="doc_waittime-5" name="rating__doc_waittime" 
                        value="5">
                        <label for="doc_waittime-5"><svg><title>Five Stars</title><use 
                        xlink:href="#star"></use></svg></label>
                        <input type="radio" id="doc_waittime-4" name="rating__doc_waittime" 
                       value="4">
                        <label for="doc_waittime-4"><svg><title>Four Stars</title><use 
                        xlink:href="#star"></use></svg></label>
                        <input type="radio" id="doc_waittime-3" name="rating__doc_waittime" 
                         value="3">
                        <label for="doc_waittime-3"><svg><title>Three Stars</title><use 
                        xlink:href="#star"></use></svg></label>
                        <input type="radio" id="doc_waittime-2" name="rating__doc_waittime" 
                        value="2">
                        <label for="doc_waittime-2"><svg><title>Two Stars</title><use 
                        xlink:href="#star"></use></svg></label>
                        <input type="radio" id="doc_waittime-1" name="rating__doc_waittime" 
                        value="1">
                        <label for="doc_waittime-1"><svg><title>One Star</title><use 
                        xlink:href="#star"></use></svg></label>
                        </td>
                    </div>
                    </tr>
                </fieldset>
                <fieldset class="rating doc.attitude">
                <tr>
                <td>
                    <legend>Attitude and Counselling</legend>
                </td>
                <td>
                    <div class="flex-container" required>
                        <input type="radio" id="doc_attitude-5" name="rating__doc_attitude" 
                        value="5">
                        <label for="doc_attitude-5"><svg><title>Five Stars</title><use 
                        xlink:href="#star"></use></svg></label>
                        <input type="radio" id="doc_attitude-4" name="rating__doc_attitude" 
                        value="4">
                        <label for="doc_attitude-4"><svg><title>Four Stars</title><use 
                         xlink:href="#star"></use></svg></label>
                        <input type="radio" id="doc_attitude-3" name="rating__doc_attitude" 
                        value="3">
                        <label for="doc_attitude-3"><svg><title>Three Stars</title><use 
                         xlink:href="#star"></use></svg></label>
                        <input type="radio" id="doc_attitude-2" name="rating__doc_attitude" 
                        value="2">
                        <label for="doc_attitude-2"><svg><title>Two Stars</title><use 
                         xlink:href="#star"></use></svg></label>
                        <input type="radio" id="doc_attitude-1" name="rating__doc_attitude" 
                        value="1">
                        <label for="doc_attitude-1"><svg><title>One Star</title><use 
                    xlink:href="#star"></use></svg></label>
                    </div>
                    </td>
                    </tr>

                <fieldset class="rating doc.rating">
                <tr>
                <td>
                    <legend>Overall Doctor Rating</legend>
                </td>
                <td>
                    <div class="flex-container" required>
                        <input type="radio" id="doc_rating-5" name="rating__doc_rating" value="5">
                        <label for="doc_rating-5"><svg><title>Five Stars</title><use 
                        xlink:href="#star"></use></svg></label>
                        <input type="radio" id="doc_rating-4" name="rating__doc_rating" value="4">
                        <label for="doc_rating-4"><svg><title>Four Stars</title><use 
                        xlink:href="#star"></use></svg></label>
                        <input type="radio" id="doc_rating-3" name="rating__doc_rating" value="3">
                        <label for="doc_rating-3"><svg><title>Three Stars</title><use 
                         xlink:href="#star"></use></svg></label>
                        <input type="radio" id="doc_rating-2" name="rating__doc_rating" value="2">
                        <label for="doc_rating-2"><svg><title>Two Stars</title><use 
                          xlink:href="#star"></use></svg></label>
                        <input type="radio" id="doc_rating-1" name="rating__doc_rating" value="1">
                        <label for="doc_rating-1"><svg><title>One Star</title><use 
                     xlink:href="#star"></use></svg></label>
                    </div>
                    </td>
                    </tr>
                    </table>
                </fieldset>


                                <fieldset class="rating lab.waittime">
                <table style="width:100%">
                <tr>
                <th>Laboratory/Pharmacy</th>
                <th>Rating</th>
                </tr>
                <tr>
                <td>
                    <legend>Attitude and Guidance</legend>
                </td>
                    <td>
                    <div class="flex-container" required>
                        <input type="radio" id="lab_waittime-5" name="rating__lab_waittime" 
                        value="5">
                        <label for="lab_waittime-5"><svg><title>Five Stars</title><use 
                        xlink:href="#star"></use></svg></label>
                        <input type="radio" id="lab_waittime-4" name="rating__lab_waittime" 
                        value="4">
                        <label for="lab_waittime-4"><svg><title>Four Stars</title><use 
                        xlink:href="#star"></use></svg></label>
                        <input type="radio" id="lab_waittime-3" name="rating__lab_waittime" 
                        value="3">
                        <label for="lab_waittime-3"><svg><title>Three Stars</title><use 
                        xlink:href="#star"></use></svg></label>
                        <input type="radio" id="lab_waittime-2" name="rating__lab_waittime" 
                        value="2">
                        <label for="lab_waittime-2"><svg><title>Two Stars</title><use 
                        xlink:href="#star"></use></svg></label>
                        <input type="radio" id="lab_waittime-1" name="rating__lab_waittime" 
                        value="1">
                        <label for="lab_waittime-1"><svg><title>One Star</title><use 
                        xlink:href="#star"></use></svg></label>
                        </td>
                    </div>
                    </tr>
                </fieldset>
                <fieldset class="rating lab.delivery">
                <tr>
                <td>
                    <legend>Delivery and Availability of medicine</legend>
                </td>
                <td>
                    <div class="flex-container" required>
                        <input type="radio" id="lab_delivery-5" name="rating__lab_delivery" 
                         value="5">
                        <label for="lab_delivery-5"><svg><title>Five Stars</title><use 
                         xlink:href="#star"></use></svg></label>
                        <input type="radio" id="lab_delivery-4" name="rating__lab_delivery" 
                        value="4">
                        <label for="lab_delivery-4"><svg><title>Four Stars</title><use 
                        xlink:href="#star"></use></svg></label>
                        <input type="radio" id="lab_delivery-3" name="rating__lab_delivery" 
                        value="3">
                        <label for="lab_delivery-3"><svg><title>Three Stars</title><use 
                        xlink:href="#star"></use></svg></label>
                        <input type="radio" id="lab_delivery-2" name="rating__lab_delivery" 
                         value="2">
                        <label for="lab_delivery-2"><svg><title>Two Stars</title><use 
                         xlink:href="#star"></use></svg></label>
                        <input type="radio" id="lab_delivery-1" name="rating__lab_delivery" 
                        value="1">
                        <label for="lab_delivery-1"><svg><title>One Star</title><use 
                    xlink:href="#star"></use></svg></label>
                    </div>
                    </td>
                    </tr>

                    </table>

                <fieldset class="rating environment.interior">
                <table style="width:100%">
                <tr>
                <th>Environment</th>
                <th>Rating</th>
                </tr>
                <tr>
                <td>
                    <legend>Interior/ Directions</legend>
                </td>
                    <td>
                    <div class="flex-container" required>
                        <input type="radio" id="env_interior-5" name="rating__env_interior" 
                            value="5">
                        <label for="env_interior-5"><svg><title>Five Stars</title><use 
                        xlink:href="#star"></use></svg></label>
                        <input type="radio" id="env_interior-4" name="rating__env_interior" 
                          value="4">
                        <label for="env_interior-4"><svg><title>Four Stars</title><use 
                        xlink:href="#star"></use></svg></label>
                        <input type="radio" id="env_interior-3" name="rating__env_interior" 
                         value="3">
                        <label for="env_interior-3"><svg><title>Three Stars</title><use 
                         xlink:href="#star"></use></svg></label>
                        <input type="radio" id="env_interior-2" name="rating__env_interior" 
                         value="2">
                        <label for="env_interior-2"><svg><title>Two Stars</title><use 
                        xlink:href="#star"></use></svg></label>
                        <input type="radio" id="env_interior-1" name="rating__env_interior" 
                         value="1">
                        <label for="env_interior-1"><svg><title>One Star</title><use 
                        xlink:href="#star"></use></svg></label>
                        </td>
                    </div>
                    </tr>
                </fieldset>
                <fieldset class="rating environment.temp">
                <tr>
                <td>
                    <legend>Temperature</legend>
                </td>
                <td>
                    <div class="flex-container" required>
                        <input type="radio" id="env_temp-5" name="rating__env_temp" value="5">
                        <label for="env_temp-5"><svg><title>Five Stars</title><use 
                          xlink:href="#star"></use></svg></label>
                        <input type="radio" id="env_temp-4" name="rating__env_temp" value="4">
                        <label for="env_temp-4"><svg><title>Four Stars</title><use 
                        xlink:href="#star"></use></svg></label>
                        <input type="radio" id="env_temp-3" name="rating__env_temp" value="3">
                        <label for="env_temp-3"><svg><title>Three Stars</title><use 
                        xlink:href="#star"></use></svg></label>
                        <input type="radio" id="env_temp-2" name="rating__env_temp" value="2">
                        <label for="env_temp-2"><svg><title>Two Stars</title><use xlink:href="#star"> 
                         </use></svg></label>
                        <input type="radio" id="env_temp-1" name="rating__env_temp" value="1">
                        <label for="env_temp-1"><svg><title>One Star</title><use xlink:href="#star"> 
                    </use></svg></label>
                    </div>
                    </td>
                    </tr>

                <fieldset class="rating environment.clean">
                <tr>
                <td>
                    <legend>Cleaniness</legend>
                </td>
                <td>
                    <div class="flex-container" required>
                        <input type="radio" id="env_clean-5" name="rating__env_clean" value="5">
                        <label for="env_clean-5"><svg><title>Five Stars</title><use 
                         xlink:href="#star"></use></svg></label>
                        <input type="radio" id="env_clean-4" name="rating__env_clean" value="4">
                        <label for="env_clean-4"><svg><title>Four Stars</title><use 
                         xlink:href="#star"></use></svg></label>
                        <input type="radio" id="env_clean-3" name="rating__env_clean" value="3">
                        <label for="env_clean-3"><svg><title>Three Stars</title><use 
                         xlink:href="#star"></use></svg></label>
                        <input type="radio" id="env_clean-2" name="rating__env_clean" value="2">
                        <label for="env_clean-2"><svg><title>Two Stars</title><use 
                        xlink:href="#star"></use></svg></label>
                        <input type="radio" id="env_clean-1" name="rating__env_clean" value="1">
                        <label for="env_clean-1"><svg><title>One Star</title><use xlink:href="#star"> 
                    </use></svg></label>
                    </div>
                    </td>
                    </tr>
                    </table>
                </fieldset> 



                <fieldset class="rating rating__experience" required>
                    <legend>How would you rate your overall experience?</legend>
                    <div class="flex-container">
                        <input type="radio" id="experience-5" name="rating__experience" value="5">
                        <label for="experience-5"><svg><title>Five Stars</title><use 
                        xlink:href="#star"></use></svg></label>
                        <input type="radio" id="experience-4" name="rating__experience" value="4">
                        <label for="experience-4"><svg><title>Four Stars</title><use 
                         xlink:href="#star"></use></svg></label>
                        <input type="radio" id="experience-3" name="rating__experience" value="3">
                        <label for="experience-3"><svg><title>Three Stars</title><use 
                          xlink:href="#star"></use></svg></label>
                        <input type="radio" id="experience-2" name="rating__experience" value="2">
                        <label for="experience-2"><svg><title>Two Stars</title><use 
                        xlink:href="#star"></use></svg></label>
                        <input type="radio" id="experience-1" name="rating__experience" value="1">
                        <label for="experience-1"><svg><title>One Stars</title><use 
                    xlink:href="#star"></use></svg></label>
                    </div>
                </fieldset>

            <a href="index.html">
            <button type="submit" feedbackSubmit()>Submit</button>
            </a>
            </form>
        </div>
    </div>
</div>
<script  src="js/submit.js"></script> 
<script src="https://www.gstatic.com/firebasejs/7.15.0/firebase-app.js"></script>
<script src="https://www.gstatic.com/firebasejs/7.15.0/firebase-analytics.js"></script>
</body>
</html>

现在我只是想检查数据是否正在发送到firebase,所以这是我在javascript中使用的代码。

  firebase.initializeApp(firebaseConfig);
  //firebase.analytics();


  const formMessage = firebase.database().ref().child('FeedbackObj');

document
  .getElementById('feedback_form')
  .addEventListener('submit', formSubmit);

//document.getElementById('appointmentForm').addEventListener('submit', formSubmit);

//Submit form
function feedbackSubmit()//e) 
{
  //e.preventDefault();
  // Get Values from the DOM
  var today = new Date();
  var date = today.getFullYear()+'-'+(today.getMonth()+1)+'-'+today.getDate();
  var time = today.getHours() + ":" + today.getMinutes() + ":" + today.getSeconds();

    sendMessage(date,time);
    console.log("Data saved successfully.");

    document.querySelector('.alert').style.display = 'block';

  //Hide Alert Message After Seven Seconds
  setTimeout(function() {document.querySelector('.alert').style.display = 'none';
  }, 7000);

  document.getElementById('feedback_form').reset();

}

function sendMessage(date,time) 
{
  let newFormMessage = formMessage.push();
  console.log("Data saved successfully.");
  newFormMessage.set({
    Dated: date,
    Time:time
  });
}

但即使在一次又一次地部署网站之后,它仍然不会发送数据。并且提交按钮不会重定向回“index.html”。我的数据库规则允许写入数据。

标签: javascripthtmlfirebasefirebase-realtime-database

解决方案


您的文件中有一些错误。

  1. '<head>'您必须在 html 的标签之间添加您需要使用的 firebase 产品。代码:<script src="https://www.gstatic.com/firebasejs/7.15.0/firebase-database.js"></script>

  2. 您正在寻找IdHtml 中不存在的元素。您必须将 id 属性添加到'form'标签。代码:<form id="feedback_form" class="feedback_form">

  3. 'pattern'您在使用该字段的属性时遇到问题'Department'。它不能在引号内包含空格。一定是这样。代码:pattern="[\w]{1,25}"

  4. 您在 html 中有错误,打开和关闭标签时,它们不匹配。你应该对此多加注意。代码:<div> ... content ... </div>

  5. 您必须选择提交的方式。通过'addEventListener', 或通过onclick="myFunction()"html 的属性。您可以在此处查看示例:示例

  6. 当您尝试为元素分配样式时'.alert',您会收到错误,搜索返回null。这些错误会阻止您的代码正常运行。

最后,按照 Firebase 数据库文档中的步骤操作:Firebase 数据库读写

代码看起来

Firebase 数据库:Firebase 数据库中存储的数据的样子

HTML 代码:

<head>
  ...
  <script src="https://www.gstatic.com/firebasejs/7.15.0/firebase-app.js"></script>
  <script src="https://www.gstatic.com/firebasejs/7.15.0/firebase-analytics.js"></script>
  <script src="https://www.gstatic.com/firebasejs/7.15.0/firebase-database.js"></script>
  ...
</head>

<body>
  ...
  <form id="feedback_form" class="feedback_form">
    ...
    <!-- If you want to redirect to "index.html", you can do it in .js, after typing in Firebase. -->
    <button type="submit">Submit</button>
  </form>
  ...
  <script src="js/submit.js"></script> 
</body>

JS代码:

// Initialize Firebase
firebase.initializeApp(firebaseConfig);

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

/* Add to Database */
function sendToDatabase(date,time) {
  database.ref('feedbackObj').set({
    date: date,
    time: time
  });
}

/* Submit Comment Function */
function submitComment(event) {
  var today = new Date();
  var date = today.getFullYear()+'-'+(today.getMonth()+1)+'-'+today.getDate();
  var time = today.getHours() + ":" + today.getMinutes() + ":" + today.getSeconds();

  sendToDatabase(date, time);

  form.reset();
  event.preventDefault();
}

const form = document.getElementById('feedback_form');
form.addEventListener('submit', submitComment);

推荐阅读