验证控件 - 将焦点设置在特定锚点上

时间:2013-02-01 20:03:21

标签: asp.net

我使用ASP.NET验证控件来验证表单上的字段,我需要将焦点设置在页面中的特定锚点上,但即使设置了SetFocusOnError,它仍会移动到页面顶部到真实。我尝试使用CustomValidator添加ClientValidationFunction,但它在验证之前运行,因此会回到页面顶部。

我也试过这个:

Set focus to validation summary?

但第一个链接不再可用,第二个链接不起作用(这就是为什么答案应该是自包含的!)。

以下是我的代码示例:

    <asp:ValidationSummary ID="ValidationSummary1" ClientIDMode="Static"
    runat="server" HeaderText="[custom message in my native language]"
    ValidationGroup="Valida" CssClass="msg_erro" />

    <asp:RequiredFieldValidator ID="vldNome" runat="server"
    ControlToValidate="txtNome" ValidationGroup="Valida" Display="Dynamic"
    ErrorMessage="blah blah blah" SetFocusOnError="True" Text="*" />

    //a bunch o others validatiors...

    <asp:ImageButton runat="Server"
    ImageUrl="~/img/anuncie/btn-cadastrar.png" ID="btnEnviar"
    ValidationGroup="Valida" CssClass="btn-cadastrar" />

正如我所说,我需要把重点放在一个特定的锚点上,但是将焦点放在ValidationSummary或任何字段上也会很好,因为我的字段远离页面顶部。< / p>

感谢。

更新

不同浏览器中的不同行为:

  • IE - 点击提交时,在字段上正确设置焦点(取决于IE版本)
  • FF - 第一次点击提交移动到页面顶部,第二次打开,它将焦点设置在字段上。
  • Chrome - 永不运作。

1 个答案:

答案 0 :(得分:0)

刚切换到jQuery Validation plugin