2015-02-02 2 views
0

Я делаю приложение Chrome и используя PouchDB (все в первый раз). Получил IndexedDB, запущенный на панели «Ресурсы» DevTools. Проблема заключается в добавлении и обновлении данных в PouchDB. Это не работает.PouchDB for Chrome Apps

IndexedDB

Вот код: (app_jr.js)

var saveregister, JrRegisterObj, pn; 

JrRegisterObj = function (databasename, remoteorigin){ 
'use strict'; 

Object.defineProperty(this, 'pdb', {writable:true}); 
Object.defineProperty(this, 'remote', {writable:true}); 
Object.defineProperty(this, 'formobject', {writable:true}); 
Object.defineProperty(this, 'errordialog', {writable: true}); 

this.pdb = new PouchDB(databasename); 
this.remote = remoteorigin + '/'+databasename; 

}; 

saveregister = function(event) { 
var n = {}; 

if(!this.formobject._id.value){ 
    n._id = new Date().getTime() + ''; 
} else { 
    n._id = this.formobject._id.value; 
} 

n.jr_u_ubn = (this.formobject.jr_u_ubn.value === '') ? '' : this.formobject.jr_u_ubn.value; 
n.jr_u_name = (this.formobject.jr_u_name.value === '') ? '' : this.formobject.jr_u_name.value; 
n.jr_u_branch = (this.formobject.jr_u_branch.value === '') ? '' : this.formobject.jr_u_branch.value; 

this.pdb.put(n, function(error, response){ 
    if(error){ 
     console.log(error); 
     return; 
    } else if(response && response.ok){ 

    } 
}); 
} 

pn = new JrRegisterObj('jr_register'); 

pn.formobject = document.getElementById('jr_reg_form'); 
pn.errordialog = document.getElementById('errordialog'); 

pn.formobject.addEventListener('submit', function (e){ 
e.preventDefault(); 
pn.saveregister(); 
}); 

Для HTML файла: (младшего register.html)

<!DOCTYPE html> 
<html lang="en-us" manifest="jr_register.manifest"> 
<head> 
<title>Junior Registration</title> 
<link rel="stylesheet" href="css/style.css"> 

</head> 

<body> 
<div class="header"> 
    <h1>Junior Register</h1> 
</div> 
<section id = "add_jr"> 
<form class="pure-form" id = "jr_reg_form" method="post"> 
    <fieldset> 
    <legend>Register</legend> 
    <table align="center"> 
     <tr> 
     <input type="hidden" id="_rev" name="_rev" value=""> 
     <input type="hidden" id="_id" name="_id" value=""> 
     <td>UBN:</td> 
     <td><input type="text" id="jr_u_ubn" name_u="jr_u_ubn"></td> 
     </tr> 
     <tr> 
     <td>Name:</td> 
     <td><input type="text" id="jr_u_name" name="jr_u_name"></td> 
     </tr> 
     <tr> 
     <td>Branch:</td> 
     <td><input type="text" id="jr_u_branch" name="jr_u_branch"></td> 
     </tr> 
    </table> 
    <button type="submit" id="jr_register_btn" class="pure-button pure-button-primary">Register</button> 
    </fieldset> 
</form> 
</section> 

<script type="text/javascript" src="js/app_jr.js"></script> 
<script type="text/javascript" src="js/pouchdb-nightly.min.js"></script> 
<script type="text/javascript" src="js/pouchdb.mapreduce.noeval.js"> </script> 
<script type="text/javascript" src="js/jr-register.js"></script> 
</body> 
</html> 

я получил помощь от here

Я действительно прилагаю усилия для исследования этого, но я могу " t найти решение. Я буду очень благодарен за вашу помощь.

ответ

0

Ну, я ответил на мой собственный вопрос .. (app.js)

var pdb = new PouchDB('pouchjrreg'); 

var form, savenote; 

form = document.getElementById('jrregform'); 

savenote = function(event){ 
var o ={}; 

o.jr_u_ubn = form.jr_u_ubn.value; 
o.jr_u_name = form.jr_u_name.value; 
o.jr_u_branch = form.jr_u_branch.value; 

if(event.target._id.value == ''){ 
o._id = new Date().getTime() + ''; 
} else { 
o._id = event.target._id.value; 
} 

pdb.put(o, function(error, response){ 
if(error) { 
    console.log(error); 
    return; 
} else if(response && response.ok){ 

} 
}); 
} 

form.addEventListener('submit', savenote); 

Он работает сейчас! И некоторые обновления для html-файла.

Смежные вопросы