Cordova WebSQL - onSubmit
Cordova WebSQL - onSubmit
我是Cordova的新手,目前正在使用它。我正在创建一个登录脚本,但当我提交表单时,数据库似乎不会做出反应。
以下是我要做的:
- 加载API时,创建一个表并插入一条记录
- 当用户提交表单时,请检查插入的数据是否等于表中的数据
- 如果匹配,请转到新页面
当我插入一些无用的东西时,我甚至没有得到警报invalid ...
。我启动应用程序时收到success!
警报。
HTML:
<form id="login" onsubmit="check_login();" class="form-signin">
<input id="username" type="text" class="form-control" placeholder="Name" required autofocus>
<input id="password" type="password" class="form-control" placeholder="Password" required>
<button class="btn btn-lg btn-primary btn-block" type="submit">
Sign in
</button>
</form>
JAVASCRIPT:
var db;
function check_login() {
var username = $("#username").val();
var password = $("#password").val();
db.transaction(function(tx) {
tx.executeSql('SELECT * FROM LOGIN WHERE username=? AND password=?', [username, password], function(tx, results) {
if (results.rows) {
window.location = "main.html";
} else {
alert("Invalid username or password");
}
}, null);
});
}
// Wait for device API libraries to load
//
document.addEventListener("deviceready", onDeviceReady, false);
// device APIs are available
//
function onDeviceReady() {
db = window.openDatabase("Database", "1.0", "Cordova Demo", 200000);
db.transaction(populateDB, errorCB, successCB);
}
// Populate the database
//
function populateDB(tx) {
tx.executeSql('DROP TABLE IF EXISTS LOGIN');
tx.executeSql('CREATE TABLE IF NOT EXISTS LOGIN (id unique, username, password)');
tx.executeSql('INSERT INTO LOGIN (id, username, password) VALUES (1, "Admin", "Admin")');
}
// Transaction error callback
//
function errorCB(tx, err) {
alert("Error processing SQL: " + err.code);
}
// Transaction success callback
//
function successCB() {
alert("success!");
}
解决了它!首先,我需要防止提交按钮的默认事件。第二,我认为results.row
不够,但这可以做if (results.rows.length > 0)
。
我现在使用的代码:效果很好!
function check_login() {
event.preventDefault(); // cancel default behavior
var username = $("#username").val();
var password = $("#password").val();
db.transaction(function(tx) {
alert(tx + "test");
tx.executeSql('SELECT * FROM LOGIN WHERE username=? AND password=?', [username, password], function(tx, results) {
if (results.rows.length > 0) {
window.location = "main.html";
} else {
alert("Invalid username or password");
}
}, errorCB);
});
}
相关文章:
- 检查onsubmit doenst work jquery contactform上的函数
- 为什么onsubmit函数似乎没有执行
- 查询后websql成功回调无法访问变量
- 在websql成功调用中Jquery移动主题打开按钮
- 在浏览器检查表单之前运行javascript onsubmit
- onsubmit返回false,但submit仍然执行
- 使用websql和javascript进行非常慢的查询
- 在WebSQL服务器中存储JSON数据
- 对添加另一个选项卡的onsubmit函数停止重定向
- Ajax成功上的Phonegap WebSQL事务不起作用
- 如何使函数与.onsubmit事件一起运行
- '这'表单中的关键字onsubmit调用
- HTML 5 帮助.使用websql数据库中的动态javascript渲染选项
- Iterate over SQLOBJECT -WEBSQL
- jquery .onsubmit 不会触发
- 访问 WebSQL 函数中的变量
- OnSubmit - 不会发送所有表单字段 - 只有少数表单字段被发送
- onSubmit在php脚本的开头显示DIV
- onsubmit多个javascript函数
- Cordova WebSQL - onSubmit