带有 phonegap 和 firebase 的移动应用程序
mobile application with phonegap and firebase
我正在使用 phonegap 桌面应用程序(使用我在桌面应用程序中单击创建文件时自动生成文件。),使用原子编辑器和 firebase 与这个项目。总结一下我的项目,这只是某种调查,因此用户必须填写一些表格。
我无法将我的表单详细信息上传到 firebase。我确定 firebase 已正确连接,因为我能够从 firebase 检索数据并显示在控制台中。但它就是无法将表单数据存储到其中。
这是我的 html 页面
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="initial-scale=1, maximum-scale=1, user-scalable=no, width=device-width">
<script type="text/javascript" src="cordova.js"></script>
<link rel="stylesheet" type="text/css" href="style.css">
<title>AMT Survey</title>
</head>
<body>
<a href="index.html"><img src="img/back.png" style="width:8%;"></a><br>
<form id="amtForm">
<b style="font-size: 27px;">AMT <p></b>
<b class=fs>Screen by: </b><br><input type="text" name="screenby" id="screenby"><br>
<b class=fs>Name of client:</b> <br><input type="text" name="client" id="client"><br>
<b class=fs>Date: </b><br><input type="date" name="date" id="date"><p>
<input type="submit" class="button" value="Submit">
<!--<button (click)="postData(name)">submit</button>-->
</form>
<script src="https://www.gstatic.com/firebasejs/4.6.2/firebase.js"></script>
<script scr="main.js"></script>
</body>
</html>
这是我的 js 文件
// Initialize Firebase
(function() {
const config = {
apiKey: "",
authDomain: "",
databaseURL: "",
projectId: "",
storageBucket: "",
messagingSenderId: ""
};
firebase.initializeApp(config);
}());
//reference messages collection
var nameRef = firebase.database().reference('name');
// listen for form submit
document.getElementById('amtForm').addEventListener('submit',submitForm);
function submitForm(e){
e.preventDefault();
var name = getInputVal('name');
var client = getInputVal('client');
var date = getInputVal('date');
saveMessage(name,client,date);
}
function getInputVal(id){
return document.getElementById(id).value;
}
function saveMessage(name,client,date){
var newMessageRef = nameRef.push();
newMessageRef.set({
name:name,
client:client,
date:date
});
}
/*
postData(name){
firebase.database().ref().push({name:name});
}
*/
这些代码来自 youtube 视频教程,他似乎没有遇到像我一样的错误。这是视频 https://www.youtube.com/watch?v=PP4Tr0l08NE
我的代码有什么问题吗?或者我的设置有误?或者其他原因?
希望这个截图能帮到你screenshot下划线是我在文本框中键入的值。
这表明数据已被读取,但不知何故它没有进入 firebase
仅供参考:cornova.js 脚本不会影响连接。这不是致命错误
您是否将读写权限设置为true?
同时更改此:
//引用消息集合 var nameRef = firebase.database().reference('name');
收件人:
//引用消息集合 var nameRef = firebase.database().ref('name');
我正在使用 phonegap 桌面应用程序(使用我在桌面应用程序中单击创建文件时自动生成文件。),使用原子编辑器和 firebase 与这个项目。总结一下我的项目,这只是某种调查,因此用户必须填写一些表格。
我无法将我的表单详细信息上传到 firebase。我确定 firebase 已正确连接,因为我能够从 firebase 检索数据并显示在控制台中。但它就是无法将表单数据存储到其中。
这是我的 html 页面
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="initial-scale=1, maximum-scale=1, user-scalable=no, width=device-width">
<script type="text/javascript" src="cordova.js"></script>
<link rel="stylesheet" type="text/css" href="style.css">
<title>AMT Survey</title>
</head>
<body>
<a href="index.html"><img src="img/back.png" style="width:8%;"></a><br>
<form id="amtForm">
<b style="font-size: 27px;">AMT <p></b>
<b class=fs>Screen by: </b><br><input type="text" name="screenby" id="screenby"><br>
<b class=fs>Name of client:</b> <br><input type="text" name="client" id="client"><br>
<b class=fs>Date: </b><br><input type="date" name="date" id="date"><p>
<input type="submit" class="button" value="Submit">
<!--<button (click)="postData(name)">submit</button>-->
</form>
<script src="https://www.gstatic.com/firebasejs/4.6.2/firebase.js"></script>
<script scr="main.js"></script>
</body>
</html>
这是我的 js 文件
// Initialize Firebase
(function() {
const config = {
apiKey: "",
authDomain: "",
databaseURL: "",
projectId: "",
storageBucket: "",
messagingSenderId: ""
};
firebase.initializeApp(config);
}());
//reference messages collection
var nameRef = firebase.database().reference('name');
// listen for form submit
document.getElementById('amtForm').addEventListener('submit',submitForm);
function submitForm(e){
e.preventDefault();
var name = getInputVal('name');
var client = getInputVal('client');
var date = getInputVal('date');
saveMessage(name,client,date);
}
function getInputVal(id){
return document.getElementById(id).value;
}
function saveMessage(name,client,date){
var newMessageRef = nameRef.push();
newMessageRef.set({
name:name,
client:client,
date:date
});
}
/*
postData(name){
firebase.database().ref().push({name:name});
}
*/
这些代码来自 youtube 视频教程,他似乎没有遇到像我一样的错误。这是视频 https://www.youtube.com/watch?v=PP4Tr0l08NE
我的代码有什么问题吗?或者我的设置有误?或者其他原因?
希望这个截图能帮到你screenshot下划线是我在文本框中键入的值。
这表明数据已被读取,但不知何故它没有进入 firebase
仅供参考:cornova.js 脚本不会影响连接。这不是致命错误
您是否将读写权限设置为true?
同时更改此: //引用消息集合 var nameRef = firebase.database().reference('name');
收件人: //引用消息集合 var nameRef = firebase.database().ref('name');