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

标签 javascript jquery html function if-statement

使用 - 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/

相关文章:

javascript - 使用对象键作为日期来获取平均值

javascript - 如何模拟 uibmodal 的结果?

html - 从 iframe 中删除滚动条

javascript - macOS Safari 无法从弹出窗口读取 localStorage 值

javascript - jQuery 插件 listnav 无法正常使用功能

javascript - Material-UI:以编程方式触发悬停效果

javascript - 淡入和淡出 block 中的文本

javascript - 如何正确解决jquery冲突

javascript - jQuery ajax 无法连接 Web 服务 .net (asmx)

2 div 之间的 jquery 冲突不起作用