使用 - HTML、JavaScript、JQueryMobile、Phonegap。 (一页架构,所有页面都在一个html页面上)
我有一个用于用户登录的 if/else 语句,因此 if 语句将用户定向到主页(如果在数据库中找到用户/密码),效果非常好,但是我目前有一个关于 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. "); */
}
}
最佳答案
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() 阻止其默认行为;
但我想指出,您在这里没有使用事件,这只是检查页面上是否有某些内容。
关于javascript - 如何确保Else语句保留在同一个html页面上?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35994026/