2017-11-20 5 views
4

Ich benutze Phonegap Desktop-App (Datei wird automatisch erstellt, wenn ich auf create file in der Desktop-App.), Mit Atom-Editor und Firebase mit diesem Projekt. Um mein Projekt zusammenzufassen, ist es nur eine Art Umfrage, so dass der Benutzer einige Formulare ausfüllen muss.mobile Anwendung mit Phonegap und Firebase

Ich konnte meine Formulardetails nicht auf Firebase hochgeladen bekommen. Ich bin mir sicher, dass Firebase korrekt verbunden ist, da ich Daten von Firebase abrufen und in der Konsole anzeigen kann. Aber es konnte einfach keine Formulardaten darin speichern.

Dies ist meine HTML-Seite

<!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> 

und das ist mein 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}); 
    } 
    */ 

Dieser Code ist aus einem Video-Tutorial youtube-Datei und er scheint nicht den gleichen Fehler wie ich zu Angesicht . Hier ist das Video https://www.youtube.com/watch?v=PP4Tr0l08NE

Ist irgendetwas mit meinem Code falsch? Oder habe ich vielleicht das falsche Setup? oder vielleicht ein anderer Grund?

Ich hoffe, diese sreenshot Hilfe screenshot die Unterstreichung ist der Wert, den ich in den Textkasten eingegeben habe.
Dies zeigt, dass die Daten gelesen werden, aber irgendwie geht es nicht in firebase
FYI: das Skript cornova.js hat keinen Einfluss auf die Verbindung. es ist kein Fehler fatel

enter image description here

Antwort

1

Haben Sie die Lese- und Schreibrechte auf true gesetzt?

Ändern Sie auch dies: // Referenz Nachrichten Sammlung var nameRef = firebase.database(). Referenz ('Name');

An: // Referenznachrichten Sammlung var nameRef = firebase.database(). Ref ('name');

+0

zu beiden Frage ja – NoobProgrammer

+0

Ich hoffe, dass es bedeutet, löste das Problem lol. – user8969380

Verwandte Themen