我在mvc项目中使用devexpress Html.DevExpress().ValidationSummary
。我的表单包含一个带有3个选项卡的devexpress页面控件。当存在客户端验证错误时,验证摘要会显示这些错误,并且每个错误都是超链接。如果单击它,则会聚焦有错误的字段,但如果该字段在其他选项卡上,则不会发生任何事情。因此,如果字段在活动选项卡上,它就会被聚焦。我希望它更改活动选项卡并聚焦适当的字段。有没有办法让它正常工作?
我的同事使用javascript和jQuery:解决了这个问题
var nameControlTab = "myPageControl"; //name of your pagecontrol here
$(document).ready(function () {
$("tbody").on('click', 'a[href*="javascript:_aspxVSOnErrorClick("]', function () {
var url = $(this).attr("href");
url = url.substring(url.indexOf("'") + 1);
url = url.substring(0, url.indexOf("'"));
var idTab = $("#" + url + "_ET").parents('div[id*="' + nameControlTab + '_C"]').not(nameControlTab + '_CC')[0].id;
var indexTab = idTab.substring((nameControlTab + '_C').length);
SetTab(indexTab);
return true;
});
});
function indexOf(array, value) {
if ([].indexOf)
return array.indexOf(value);
else {
for (var i = 0; i < array.length; i++)
if (array[i] == value)
return i;
return -1;
}
}
function SetTab(indexTab) {
this[nameControlTab].SetActiveTabIndex(indexTab);
}