【发布时间】:2013-05-10 17:43:08
【问题描述】:
我正在努力在我的 Web 应用程序中获取一个选项卡,以在其中出现错误时显示选定的选项,因为我有一个跨越两个选项卡的表单。目前,如果出现错误,用户无法在 tabs-2 中看到错误消息,并且他们不知道要修复什么。我有以下代码:
HTML:
<div id="tabs">
<ul>
<li><a id="Tab-1" href="#tabs-1">Tabs 1</a></li>
<li><a id="Tab-2" href="#tabs-2" ">Tabs 2</a></li>
</ul>
<div style="display:block;" id="tabs-1" class="tab-content" name="content">
<span>Content here</span>
</div>
<div style="display:block;" id="tabs-2" class="tab-content" name="content">
<span id="ETError" class="error-template"></span>
<span class="error-message">Must enter at least one more</span>
</div>
</div>
JS:
<script>
var $j = jQuery.noConflict();
$j(function() {
$j( '#tabs' ).tabs();
$j('#tabs > div').each(function(i) {
if($j(this).find('#ETError.error-message').length < 0)
$j('#tabs').tabs('select', i);
});
});
</script>
【问题讨论】:
-
如果有错误,查找的逻辑是什么?
-
@PalashMondal 使用此应用程序,页面将在提交时刷新,现在看不到错误,因此用户不知道为什么他们无法继续,因为表单字段旁边的错误消息是tabs-2 里面
-
你试过这个
$j(this).find('.error-message').length > 0而不是$j(this).find('#ETError.error-message').length < 0吗? -
@PalashMondal 是的,我试过了,
$j(this).find('#ETError').length < 0不确定我在这里缺少什么 -
你试过
length > 0或length < 0吗?因为,如果有错误消息意味着长度将 > 0...
标签: jquery error-handling jquery-ui-tabs