微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

jquery-mobile – event.preventDefault()不阻止在jQuery Mobile .live()事件上提交表单

我试图阻止登录表单提交,所以我可以查询服务器,验证用户名和密码,然后才转到主页。

以下是相关代码

在login.html中:

<form id="login-form">
            <input type="text" name="login-username" id="login-username" value="" placeholder="Username" />
            <input type="password" name="login-password" id="login-password" value="" placeholder="Password" /><br />
            <button id="cab-submit" type="submit" data-theme="a" data-inline="true">Log In</button>
        </form>

在app.js中:

$("#login-form").live("submit",function(event) {
        event.preventDefault();
        $.mobile.changePage("main.html",{
            transition: "fade"
        });
    });

我是一个经验丰富的jQuery程序员,但从来没有遇到过这种情况。 changePage()确实有效,但只有在表单提交后才会发生,这会导致不必要的页面加载。

编辑:找到解决方案。

如果我想处理自己提交的表单,我不得不将数据-ajax =“false”添加到表单中。这工作正常

标记

<form id="login-form" data-ajax="false">
            <input type="text" name="login-username" id="login-username" value="" placeholder="Username" />
            <input type="password" name="login-password" id="login-password" value="" placeholder="Password" /><br />
            <button id="cab-submit" type="submit" data-theme="a" data-inline="true">Log In</button>
        </form>

解决方法

回答我自己的问题如果我想处理自己提交的表单,我不得不将数据-ajax =“false”添加到表单中。这工作正常

标记

<form id="login-form" data-ajax="false">
        <input type="text" name="login-username" id="login-username" value="" placeholder="Username" />
        <input type="password" name="login-password" id="login-password" value="" placeholder="Password" /><br />
        <button id="cab-submit" type="submit" data-theme="a" data-inline="true">Log In</button>
    </form>

原文地址:https://www.jb51.cc/jquery/182591.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐