前提・実現したいこと
firebaseのcloud firestoreを使ってユーザーが入力した情報をデータベースに保存しようとしています。しかしエラーが出て困っています。どう解決したらいいのでしょうか。
エラーメッセージ
Uncaught FirebaseError: Function DocumentReference.set() called with invalid data. Unsupported field value: a custom NodeList object (found in field title)
コード
javascript
1 function adddata() { 2 const udemae = document.getElementById('udemae'); 3 const title = document.getElementsByName('title'); 4 const text = document.getElementsByName('text'); 5 const radioList = udemae.power; 6 const valuepower = radioList.value; 7 8 console.log(valuepower); 9 10 var db = firebase.firestore(); 11 db.settings({ 12 timestampsInSnapshots: true 13 }); 14 var collectionLower = db.collection('postLower'); 15 var collectionHigher = db.collection('postHigher'); 16 if (valuepower === 'C-~A+') { 17 collectionLower.add({ 18 title: title, 19 text: text, 20 power: valuepower 21 }) 22 } else { 23 collectionHigher.add({ 24 title: title , 25 text: text, 26 power: valuepower 27 }) 28 } 29 }
html
1<form id="udemae"> 2 <input type="text" name="title" value=""> 3 <textarea name="text" rows="4" cols="80"></textarea> 4 <input type="radio" name="power" value="C-~A+">C-~A+ 5 <input type="radio" name="power" value="S~X">S~X 6 7 <input type="button" value="募集する" onclick="adddata()"> 8 9</form>
試したこと
javascript
1const title = document.getElementsByName('title'); 2const text = document.getElementsByName('text');
ここを消して追加するデータのtitleとtextを文字列で指定するとエラーが出ず、うまくいきました。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/04/21 13:41