【发布时间】:2016-10-10 13:13:55
【问题描述】:
我在使用 Firebase 单击按钮时实际上无法清除表单的内容。我可以在另一个只有一个文本字段的表单上使用type="reset",但是,第二个表单有两个文本字段,当我尝试以下操作时:
function clearFields() {
document.getElementById(userCityEmail).value = "";
document.getElementById(cityTextField).value = "";
}
或者我试试这个(只是使用 reset()):
function clearFields() {
document.getElementById(userCityEmail).reset();
document.getElementById(cityTextField).reset();
}
页面将重新加载,但没有任何内容发送到 Firebase。如果我不使用上述功能并将文本留在文本字段中,它会将内容发送到 Firebase。我哪里错了?提前致谢!
这是我的 HTML 表单:
<form id="myform" method="post">
<input type="email" class="contactUsEmail" id="userCityEmail" placeholder="Enter email" name="contactUsEmail">
<input type="text" class="contactUsEmail" id="cityTextField" placeholder="City" name="contactUsCity">
<button type="submit" id="citySubmitButton" onclick="submitCityClick(); clearFields(); return false;" class="btn btn-primary contactUsButton">Submit</button>
</form>
Javascript:
var userCityEmail = document.getElementById('userCityEmail');
var cityTextField = document.getElementById('cityTextField');
var citySubmitButton = document.getElementById('citySubmitButton');
function submitCityClick() {
var firebaseRef = firebase.database().ref();
var userEmail = userCityEmail.value + " " + cityTextField.value;
firebaseRef.child("potentialCities").push().set(userEmail);
}
function clearFields() {
document.getElementById(userCityEmail).value = "";
document.getElementById(cityTextField).value = "";
}
【问题讨论】:
-
您的
clearFields()电话是否正常工作?你有一个 HTML 元素存储为userCityEmail和cityTextField的值,然后你在这些上调用 document.getElementById。
标签: javascript html forms firebase firebase-realtime-database