使用jQuery验证的奇怪滚动条行为

时间:2012-08-24 19:36:58

标签: c# javascript asp.net css jquery-validate

当我点击Add Dependent链接按钮时,我希望滚动条滚动到底部,这样可行。 问题是,在回发文本“请修复以下问题:”显示一秒后,选择“添加从属”链接按钮时。但是,它下面没有错误消息。如果存在验证问题,验证(jQuery-validation插件)将正常工作。

感谢。

以下是相关的asp.net代码:

<script type="text/javascript" language="javascript">
    function toBottom(id) {
        document.getElementById(id).scrollTop = document.getElementById(id).scrollHeight
    }

</script>
<div id="divscroll" class="scroll">

</div>

<div id="validationMessageContainer" class="error" >
    <span id="info_dep_fix_problemls">Please fix the following problems:</span>
    <ul></ul>
</div> 

<asp:LinkButton ID="AddDependent" Text="Add Dependent" CssClass="btngeneral" OnClientClick="toBottom('divscroll')"
            OnClick="AddDependent_Click" runat="server" />&nbsp;&nbsp;

C#代码背后:

protected void AddDependent_Click(object sender, EventArgs e)
{
    //Other unrelated code  -- the button has to be server side as we do database connections, etc.
getScrollPosition();
}

protected void getScrollPosition()
    {
        //Sets the scroll position of the divscroll to the bottom on postback
        ClientScript.RegisterStartupScript(this.GetType(), "toBottom", "toBottom('divscroll')", true);
    }

这是滚动div的css。

div.scroll
{
    -ms-overflow-x:hidden; 
    overflow-x:hidden; 
    -ms-overflow-y:auto; 
    overflow-y:auto; 
    max-height: 400px;
    max-width: 900px;
}

2 个答案:

答案 0 :(得分:1)

我们弄明白了,将style="display:none"添加到validationMessageContainer div,修复了它。

感谢所有帮助过的人。

答案 1 :(得分:0)

尝试在JavaScript的末尾添加一个返回false;或代码背后出现的maby?目前还不清楚。你的意思是jquery验证插件?如果它是一个表单验证器,请查看插件代码。