我被困在某个地方验证表格。我有一个不错的10-11场 我在MVC中的.cshtml页面。那些字段正在使用模型中的数据anotations,在这里我 我使用jquery和不引人注目的javascript使用客户端验证。所以,验证 在提交时非常好,但是我们需要实现一个用户点击它的逻辑 提交按钮,但页面会自动将用户拖动到必填字段的位置。
假设我表单中的所有11个字段都是必填字段。用户填写了前两个和 留下第三个空白。因此,在提交表单时,光标应该集中在该控件上 验证消息。由于页面的长度,它应该向上和向下滚动 因此。如果假设只有前两个字段被填充而其他字段为空, 验证消息应该显示第三个字段,重点是控制然后 如果用户填写了第3个字段并点击了保存,它应该关注第四个字段。
在一个实例上,它看起来很简单,我在点击提交按钮时使用以下代码片段进行尝试。
如果这是mvc在验证时触发的类,我从第一个类中选择元素,如下所示:
var element = $('#' + $('.input-validation-error:first').attr('id'));
一旦我获得了元素,那么我使用下面的代码:
if (element.selector !== '#undefined') {
// The class "RequiredFeildDropdown" is applied to the control so that I can
check if that is kendo dropdown and I should focus to that kendo control of the element.
if (element.hasClass("RequiredFeildDropdown")) {
element.data("kendoDatePicker").element.focus();
}
// This class "RequiredFeildDate" has been applied to check whether the kendo control is datepicker
so that I can focus it.
else if (element.hasClass("RequiredFeildDate")) {
element.data("kendoDropDownList").focus();
}
//所以这就是真正的问题.nejoraddressData包含集合 对象实际上我的页面也包含了一些我用for循环创建的表格元素。
因此,在验证时,如果primaryaddressData.length有count < 1
,则此div应该显示。实际上应该显示
至少是一个主要地址。具有表elemets的div是&#34; primaryaddressErrorMessage&#34;
else {
if (primaryaddressData.length >= 1) {
$("#primaryaddressErrorMessage").hide();
} else {
$("#primaryaddressErrorMessage").show();
$('html,body').animate({
scrollTop: $("#primaryaddressErrorMessage").offset().top
}, 'slow');
isValid = false;
}
element.focus();
为了更清楚第二部分,我的页面还有一个名为&#34; primaryaddressErrorMessage&#34;我在上面描述过
<div class="common-box padding25 ">
<span id="primaryaddressErrorMessage" class="margin-btm30" style="display: none; color: #ce3a36; font-size: 11px; font-family: 'signikaregular', Arial">Primary Addressed are required.</span>
@{Html.RenderPartial("~/Areas/Admin/Views/Common/_AddressPartial.cshtml", Model);}
</div>
因此,此partialview具有一组用户用来添加主地址的控件。 当这个局部视图加载时,通过使用ajax请求,我从数据库中检查 如果此用户至少有一个主要地址,如果是,我会继续计算它 &#34; primaryaddressData&#34; = 1当用户提交新的主地址时, 在向控制器发送请求后,我从中获取主要地址计数 数据库并再次设置&#34; primaryaddressData&#34; =通过Json从数据库获取的计数。
as&#34; primaryaddressData&#34;当用户从主页面,即从主页面点击保存时,它是全局的 查看哪个包含上面的部分视图,我检查长度 &#34; primaryaddressData&#34;如果少于一个,我将不得不专注于
这个跨度有id =&#34; primaryaddressErrorMessage&#34;
我正在努力解决这个问题。可能有人过去也遇到过这个问题。所以,这可能是一个重复的问题,但我问了这个特殊情况。如果需要更多解释,请告诉我。