验证并专注于验证

时间:2011-10-12 19:26:55

标签: c# asp.net

我有一个页面,在那个页面中我有几个用户控件,所以其中一个验证了一个文本框,看它是否为空它工作正常...但后来我有其他控件......其中一个有提交按钮,所以我想要做的是当文本框为空(并且它正确验证)时单击按钮以跳转到页面的该部分,以便用户可以看到错误。

现在它只是显示消息,但它一直在页面中,所以错误就在那里,用户点击并点击但不知道问题在顶部......

如何关注该控件中的文本框...当点击另一个控件中的提交按钮但它们仍在同一页面中时?

我希望您能理解这个问题,如果没有请问,我很乐意为您提供更多信息。

2 个答案:

答案 0 :(得分:2)

这是一种设置焦点的方法,将此函数放在ASP.NET按钮控件的OnClientClick中:

function ValidatorFocus()
{
    //force .net validation
    Page_ClientValidate();
    var i;
    for (i = 0; i < Page_Validators.length; i++)
    {
        if (!Page_Validators[i].isvalid)
        {
            document.getElementById(Page_Validators[i].controltovalidate).focus();
            break;
        }
    }
}

Manually calling ASP.NET Validation with JavaScript

答案 1 :(得分:1)

您使用的是内置的ASP.NET验证程序吗?如果是这样,您应该查看SetFocusOnError

<asp:textbox id="txt" runat="server">
<asp:RequiredFieldValidator ID="vld" ControlToValidate="txt" SetFocusOnError="true" />