Javascript 无法打开资产URL:file:///android_asset/www/submit?UserName=Admin&密码=Phonegap Android中的超级%401234?
我对Phonegap和Javascript完全陌生。我试图将用户名值和密码值从登录表单保存到sqlite数据库 这是我的login.html文件:-Javascript 无法打开资产URL:file:///android_asset/www/submit?UserName=Admin&密码=Phonegap Android中的超级%401234?,javascript,android,jquery,sqlite,cordova,Javascript,Android,Jquery,Sqlite,Cordova,我对Phonegap和Javascript完全陌生。我试图将用户名值和密码值从登录表单保存到sqlite数据库 这是我的login.html文件:- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtm
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>Login</title>
<link href="css/style.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="js/jquery-2.1.3.min.js"></script>
<script type="text/javascript" src="js/iscroll.js"></script>
<script type="text/javascript" src="js/login.js"></script>
</head>
<body>
<div class="wrapper">
<form action="submit" id="login" name="login_form">
<input type="text" id="uName" name = "UserName" placeholder="Username" value="Admin"/>
<br/>
<input type="password" id="password" name = "Password" placeholder="Password" value="super@1234"/>
<br/>
<button type="submit" id="submit" value="Submit">Login</button>
</form>
<script type="text/javascript">
$(document).ready(function() {
$("#submit").click(function() {
if($("#uName").val()==""){
alert("Please fill username field.");
//$("#uName").focus();
}
else if($("#password").val()==""){
alert("Please fill password field.");
//$("#password").focus();
}
else {
onDeviceReady();
}
});
});
</script>
</div>
</body>
</html>
我的问题是,当我在我的android设备上运行这段代码时,它会给我一个应用程序错误:有一个网络错误,并且
错误日志为:-
04-30 10:16:35.080 31868-31868/com.itpp.trt D/CordovaWebViewImpl onPageDidNavigate(file:///android_asset/www/submit?UserName=Admin&Password=super%401234)
04-30 10:16:35.080 31868-31934/com.itpp.trt E/AndroidProtocolHandler﹕ Unable to open asset URL: file:///android_asset/www/submit?UserName=Admin&Password=super%401234
04-30 10:16:35.090 31868-31868/com.itpp.trt D/SystemWebViewClient﹕ CordovaWebViewClient.onReceivedError: Error code=-1 Description=There was a network error. URL=file:///android_asset/www/submit?UserName=Admin&Password=super%401234
我找不到问题出在哪里,请帮帮我。
感谢并抱歉提出了这么长的问题。:) 表单正在尝试将提供的数据提交到url:'file:///android_asset/www/submit'. url通过
标记内的操作
属性提交:
<form action="submit" id="login" name="login_form">
被调用的函数应如下所示:
function mySubmitFunction(){
$("login").unbind("submit"); //this removes the submit event-handler from the form
if($("#uName").val()==""){
alert("Please fill username field.");
}
else if($("#password").val()==""){
alert("Please fill password field.");
}
else {
//insert into your database
db.transaction(populateDB, transaction_err, populateDB_success);
}
}
在onDeviceReady函数中,只需打开数据库:
function onDeviceReady() {
db = window.openDatabase("UserDB", "1.0", "Login", 10000);
}
它现在可以工作了错误消失了,但是事务错误和填充B__成功不起作用。警报没有显示,请帮帮我。嗯,我刚刚测试了它,对我来说它起作用了。弹出PopulatedBu success中的警报。您删除了“$(文档).ready(function(){…})”了吗?我将代码更改为function submitData(){ondevicerady();if($(“#uName”).val()==”){alert(“请填写用户名字段”)/$(“#uName”).focus()}否则if($(“#密码”).val()=”){alert($){alert(“请填写密码字段。”);/$(“#密码”).focus()}否则{alert(“its here”);db.transaction(populateDB,transaction_err,populateDB_success)}弹出its here警报。但下一步不工作删除
ondevicerady();
。您不需要调用它,因为您有文档。addEventListener(“deviceready”,onDeviceReady,false);
,它将在设备准备就绪时调用onDeviceReady函数。我删除了onDeviceReady(),因此它显示db变量未查找。
function mySubmitFunction(){
$("login").unbind("submit"); //this removes the submit event-handler from the form
if($("#uName").val()==""){
alert("Please fill username field.");
}
else if($("#password").val()==""){
alert("Please fill password field.");
}
else {
//insert into your database
db.transaction(populateDB, transaction_err, populateDB_success);
}
}
function onDeviceReady() {
db = window.openDatabase("UserDB", "1.0", "Login", 10000);
}