【发布时间】:2011-10-05 03:20:48
【问题描述】:
我有一个选项卡式登录页面,我想在每个选项卡上托管一个表单,但从它们背后的代码来看,它们位于一个页面上。
这意味着有两种形式。
示例:
<nav id="secondary">
<ul>
<li id="current"><a href="#login">Login</a></li>
<li><a href="#forgot">Forgot Password</a></li>
</ul>
</nav>
<div id="login" class="tab">
<br /><br />
<form runat="server" visible="true" class="frmControl">
</form>
</div>
<div id="forgot" class="tab">
<br /><br />
<form runat="server" visible="false" class="frmControl"></form>
</div>
然后我有以下 jquery 在登录 div 和忘记 div 之间切换
$(".tab").hide();
if ($("nav#secondary ul li.current").length < 1) {
$("nav#secondary ul li:first-child").addClass("current");
}
var link = $("nav#secondary ul li.current a").attr("href");
$(link).show();
$("nav#secondary ul li a").click(function () {
if (!$(this).hasClass("current")) {
$("nav#secondary ul li").removeClass("current");
$(this).parent().addClass("current");
$(".tab").hide();
$(".frmControl").attr("Visible", "false");
var link = $(this).attr("href");
$(this).attr("Visible", "true");
$(link).show();
initBackground();
}
return false;
});
它无法正常工作,因为它只是将 '.frmControl' 类设置为 visible=false。但是当我重新激活选项卡时,它不会再次将活动选项卡表单设置为 true,并将非活动选项卡表单设置为 false。
对不起,如果我没有正确解释这一点。
-RD
【问题讨论】:
-
您不能有多个表单是
runat="server",并且一个表单没有客户端Visible属性,至少有一个对您有好处。您需要使用hide/show。
标签: c# jquery jquery-ui jquery-ui-tabs