使用 - HTML,JavaScript,JQueryMobile,Phonegap。 (一页结构,所有页面都在一个html页面上)
我有一个if / else语句用于用户登录,所以if语句将用户引导到主页(如果在数据库中找到用户/ pass),这完全正常,但我目前有一个else语句的通知但是问题是,在通知之后,它将用户重定向回索引页面,而不是保留在同一页面上,并允许用户再次尝试。
我可以使用什么来阻止将页面重新加载到else语句的另一个页面?我已经尝试过event.preventDefault();和event.stopPropagation();但我只是得到一个错误。
见下面我当前的代码 -
function loginUser()
{
db = window.openDatabase("SoccerEarth", "2.0", "SoccerEarthDB", 2*1024*1024);
db.transaction(loginDB, errorCB);
}
function loginDB(tx)
{
var Username = document.getElementById("username").value;
var Password = document.getElementById("password").value;
tx.executeSql("SELECT * FROM SoccerEarth WHERE UserName='" + Username + "' AND Password= '" + Password + "'", [], renderList);
}
function renderList(tx,results)
{
if (results.rows.length > 0) {
navigator.notification.alert("Login Success!");
window.location = "#page4";
}
else
{
event.preventDefault();
event.stopPropagation();
/* navigator.notification.alert("Incorrect! Please try again. "); */
}
}
答案 0 :(得分:1)
function renderList(event, tx, results) {
if (results.rows.length > 0) {
window.location = "#page4";
} else {
event.preventDefault();
event.stopPropagation();
/* navigator.notification.alert("Incorrect! Please try again. "); */
}
你需要将这个事件作为争论传递出去。然后使用event.preventDefault();
阻止其上的默认行为但我想指出你没有在这里使用活动,这只是检查页面上是否有东西。