Javascript 连接到cordova android应用程序中的db
我正在尝试使用Phonegap开发一个应用程序。在此应用程序中,我需要创建一个简单的注册表单并将其连接到db,以便将用户详细信息存储在db中。但在尝试运行创建的应用程序时,我在LogCat中遇到以下错误。我已搜索了解决方法,但无法将其修复 LogCat中的错误: file:///android_asset/www/js/index.js: 第41行:TypeError:表达式“parentElement”[null]的结果不是对象 ReferenceError:找不到变量:$atfile:///android_asset/www/Register.html:68 index.js文件:Javascript 连接到cordova android应用程序中的db,javascript,android,html,database,cordova,Javascript,Android,Html,Database,Cordova,我正在尝试使用Phonegap开发一个应用程序。在此应用程序中,我需要创建一个简单的注册表单并将其连接到db,以便将用户详细信息存储在db中。但在尝试运行创建的应用程序时,我在LogCat中遇到以下错误。我已搜索了解决方法,但无法将其修复 LogCat中的错误: file:///android_asset/www/js/index.js: 第41行:TypeError:表达式“parentElement”[null]的结果不是对象 ReferenceError:找不到变量:$atfile:///
var app = {
// Application Constructor
initialize: function() {
this.bindEvents();
},
// Bind Event Listeners
// Bind any events that are required on startup. Common events are:
// 'load', 'deviceready', 'offline', and 'online'.
bindEvents: function() {
document.addEventListener('deviceready', this.onDeviceReady, false);
},
// deviceready Event Handler
// The scope of 'this' is the event. In order to call the 'receivedEvent'
// function, we must explicitly call 'app.receivedEvent(...);'
onDeviceReady: function() {
app.receivedEvent('deviceready');
},
// Update DOM on a Received Event
receivedEvent: function(id) {
var parentElement = document.getElementById(id);
var listeningElement = parentElement.querySelector('.listening'); //line 41
var receivedElement = parentElement.querySelector('.received');
listeningElement.setAttribute('style', 'display:none;');
receivedElement.setAttribute('style', 'display:block;');
console.log('Received Event: ' + id);
}
};
app.initialize();
Register.html中的第68行是insertDBtx函数中的以下代码
var insertname = $('[name="name"]').val();
与登记表相关的代码
<div data-role="page" id="page1">
<div data-role="header" >
<h1>Register</h1>
</div>
<div data-role="content">
<form method="get" onsubmit="" >
<fieldset class="ui-field-contain">
<label for="name">Name</label>
<input type="text" name="name" id="name" value="" />
<p> </p>
<label for="email">Email</label>
<input type="email" name="email" id="email" value="" />
<p> </p>
<label for="password">Password </label>
<input type="password" name="password" id="password" value="" autocomplete="off"/>
<br />
<button class="ui-btn-right" onclick='return submitForm()'>Register</button>
</fieldset>
</form>
</div>
</div>
在第68行,您可以将其更改为:
var insertname = $('#name').val();
或
要获得预期结果?此错误意味着您没有在html中包含jquery.js脚本。实际上,我已经包含了。。非常感谢Steve:var insertname=document.getElementsByNamename;为我工作:
var insertname = document.getElementsByName("name");