首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >表单提交后禁用jQuery选项卡

表单提交后禁用jQuery选项卡
EN

Stack Overflow用户
提问于 2011-08-21 05:30:09
回答 1查看 502关注 0票数 0

我在一个用AJAX加载的jQuery选项卡目录中有一个表单:

代码语言:javascript
复制
<div id="tabs-2">
    <form id="frmLogin" name="frmLogin" class="cmxform" method="post" action="actions/login.php">
        <p>
            <label>Username</label>
            <input type="text" id="username" name="username" maxlength="30" />
        </p>
        <div class="clear"></div>
        <p>
            <label>Password</label>
            <input type="password" id="password" name="password" maxlength="40" />
        </p>
        <p>
        <input class="submit" type="submit" id="submit" value="Login" />
        </p>
        <div class="clear"></div>
    </form>

</div>

表单提交到列出的PHP文件。这个使用表单和验证jQuery插件的.js文件通过AJAX提交表单。PHP文件回显JSON数据:

代码语言:javascript
复制
$(document).ready(function() { 
$("#frmLogin").validate({
                    rules: {
                            username: {
                                required: true,
                                minlength: 6
                            },
                            password: {
                            required: true,
                            minlength: 6
                            },
                            },
                            submitHandler: function(form) {
                                $("#frmLogin").ajaxSubmit({
                                                        dataType: 'json',
                                                        success:    processLogin,
                                                        })
                            }
});
function processLogin(data) {
    if (data.un) {
        $("div#tabs-2").slideUp(function() {
            $("li#login").html('<a href="ajax/loggedin.html">Welcome, '+data.fn+'</a>');
        });
    } else {
        alert("uh-oh"); 
    }
}
});

这一切都运行得很好。我已经得到了以前阅读“登录”的链接,以阅读欢迎消息。现在,我想用用户选项的ul替换该选项卡的内容(登录表单)。

问题:带有欢迎消息的链接不再作为选项卡使用。单击时,它将浏览器定向到“ajax/loggedin.html”。

我尝试在"loggedin.html“文件中重复tabs函数,并在"login.js”中的processLogin函数中调用它。我的下一个修复尝试将是在processLogin函数中更改tabs-2div的html内容,但这似乎会生成许多笨重的代码。

有什么建议可以防止禁用选项卡行为吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-08-21 05:36:35

这是典型的运行时代码问题。您正在设置选项卡行为,以检查选项卡并设置它们。然后加载新代码,但尚未初始化这些代码的选项卡。

解决方案是使用委托(或实时)而不是直接单击事件,或者在ajax回调中初始化选项卡。后者是这个问题的最佳解决方案。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7134817

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档