如何确保Else语句保留在同一个html页面上?

时间:2016-03-14 17:18:45

标签: javascript jquery html function if-statement

使用 - 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. "); */
    }
}

1 个答案:

答案 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();

阻止其上的默认行为

但我想指出你没有在这里使用活动,这只是检查页面上是否有东西。