如何处理catch函数?

时间:2020-04-21 16:08:01

标签: javascript html css firebase

我在cloud firestor中创建了一个数据库,所以现在我想通过输入字段向其中添加一些信息, 输入字段为空的信息存储且catch函数不起作用的问题,如何解决,并使catch函数起作用。

这是代码:

HTML:

<div class="container"> 
          <input  type="text" placeholder="Enter the country" id="country-field"  required>
          <p class="selectPar">Enter City</p>
          <input type="text" placeholder="Enter the city" id="city-field" required>
          <p class="selectPar">Enter the place name</p>
          <input type="text" placeholder="Enter the place name" id="placename-field" required>
          <p class="selectPar">Enter Address</p>
          <input type="text" placeholder="Enter the address" id="address-field" required>
          </div>
        </div>
        <div id="btnFrmAlignSec">
          <button id="btnFrm" type="button" onclick="AddToDataBase()">Send to admin</button>
        </div>

JavaScript

函数AddToDataBase(){

  var inputCountry = document.getElementById("country-field").value;
  var inputCity = document.getElementById("city-field").value;
  var inputAddress = document.getElementById("address-field").value;
  var inputNameofPlace = document.getElementById("placename-field").value;

  // Add a new document in collection "cities"
   db.collection("UsersShare").doc().set({

    name:inputNameofPlace,
    city:inputCity,
    country:inputCountry,
    address:inputAddress,

  })

  .then(function() {
    console.log("Document successfully written!");
    document.getElementById("reply").style.display="inline";  
  })
  .catch(function(error) {
    console.error("Error writing document: ", error);
  });
}

2 个答案:

答案 0 :(得分:4)

if(inputCountry.trim() && inputCity.trim() && inputAddress.trim() && 
   inputNameOfPlace.trim()){
  // Add a new document in collection 
  // your code
} else {
 // fields are empty --- error message
}

答案 1 :(得分:0)

您可以事先检查字段是否为空,如果不是,则对数据库进行操作,否则像catch函数那样将错误记录到控制台:

if(inputCountry && inputCity && inputAddress && inputNameOfPlace){
    db.coll.....
} else {
    console.error('Field(s) are empty');
}
相关问题