Javascript 如果它';函数中有什么?

Javascript 如果它';函数中有什么?,javascript,jquery,firebase,google-cloud-firestore,Javascript,Jquery,Firebase,Google Cloud Firestore,以下是我的代码: 但是,我想在提交页面上的表单后触发db.collection位;大概是这样的: firebase.initializeApp({}); var auth = firebase.auth(); const firestore = firebase.firestore(); const settings = {timestampsInSnapshots: true}; firestore.settings(settings); var db = firebase.firestor

以下是我的代码:

但是,我想在提交页面上的表单后触发
db.collection
位;大概是这样的:

firebase.initializeApp({});

var auth = firebase.auth();
const firestore = firebase.firestore();
const settings = {timestampsInSnapshots: true};
firestore.settings(settings);
var db = firebase.firestore();

$(function() {
    firebase.auth().onAuthStateChanged(function(user) {
        if (user) {
            // User is signed in.
            var uid = user.uid;

            $('#myform').on('submit', function() {
                db.collection('users').doc(uid).collection('people').doc().set({
                    firstname: "John",
                    lastname: "Doe"
                })
                .catch(function(error) {
                    console.error("Error writing document: ", error);
                });    
            });
        } else {
            // User is signed out.
        }
    });
});
但不管出于什么原因,这都行不通

编辑:这是整个
#myform
。这存在于引导模式中

        <form id="myform">
          <div class="form-row">
            <div class="col-md-12">
              <label for="firstname">First Name</label>
              <div class="input-group">
                <span class="input-group-addon"><i class="icofont icofont-user"></i></span>
                <input type="text" class="form-control" id="firstname" required>
              </div>
            </div>
          </div>
          <div class="form-row">
            <div class="col-md-12">
              <label for="lastname">Last Name</label>
              <div class="input-group">
                <span class="input-group-addon"><i class="icofont icofont-user"></i></span>
                <input type="text" class="form-control" id="lastname" required>
              </div>
            </div>
          </div>
          <div class="form-row">
            <div class="col-md-12">
              <label for="email">Email</label>
              <div class="input-group">
                <span class="input-group-addon"><i class="icofont icofont-email"></i></span>
                <input type="email" class="form-control" id="email" required>
              </div>
              <div id="email-error"></div>
            </div>
          </div>
          <div class="form-row">
            <div class="col-md-12 mb-3">
              <label for="phone">Phone</label>
              <div class="input-group">
                <span class="input-group-addon"><i class="icofont icofont-phone"></i></span>
                <input type="tel" class="form-control" id="phone">
              </div>
              <div id="phone-error"></div>
            </div>
          </div>
          <div class="modal-footer">
            <button type="submit" class="btn btn-primary" id="btn-add-person">Add Person</button>
            <button type="button" class="btn btn-danger" data-dismiss="modal">Cancel</button>
          </div>
        </form>

名字
姓
电子邮件
电话
添加人
取消

您提交的表单可能会使页面重新加载。尝试在您的
属性中粘贴
onsubmit=“return false;”“

是否在其他地方有处理程序阻止表单提交替换页面?(否则,我想这一页将立即被替换)不,我想我不会。正确的方法是什么?与@CertainPerformance达成一致:表单
#myform
是什么样子的?就是这样。非常感谢!
        <form id="myform">
          <div class="form-row">
            <div class="col-md-12">
              <label for="firstname">First Name</label>
              <div class="input-group">
                <span class="input-group-addon"><i class="icofont icofont-user"></i></span>
                <input type="text" class="form-control" id="firstname" required>
              </div>
            </div>
          </div>
          <div class="form-row">
            <div class="col-md-12">
              <label for="lastname">Last Name</label>
              <div class="input-group">
                <span class="input-group-addon"><i class="icofont icofont-user"></i></span>
                <input type="text" class="form-control" id="lastname" required>
              </div>
            </div>
          </div>
          <div class="form-row">
            <div class="col-md-12">
              <label for="email">Email</label>
              <div class="input-group">
                <span class="input-group-addon"><i class="icofont icofont-email"></i></span>
                <input type="email" class="form-control" id="email" required>
              </div>
              <div id="email-error"></div>
            </div>
          </div>
          <div class="form-row">
            <div class="col-md-12 mb-3">
              <label for="phone">Phone</label>
              <div class="input-group">
                <span class="input-group-addon"><i class="icofont icofont-phone"></i></span>
                <input type="tel" class="form-control" id="phone">
              </div>
              <div id="phone-error"></div>
            </div>
          </div>
          <div class="modal-footer">
            <button type="submit" class="btn btn-primary" id="btn-add-person">Add Person</button>
            <button type="button" class="btn btn-danger" data-dismiss="modal">Cancel</button>
          </div>
        </form>