OnClientClick无法正常工作

时间:2009-09-17 16:08:23

标签: asp.net javascript validation button

我有一个后退和下一个按钮,因为有一个OnClientClick验证功能。

当我点击它时,不会调用此函数,请帮帮我

代码如下:

<asp:Button ID="btn_view1_back" runat="server" Text="Back" 
            CausesValidation="False" ValidationGroup="Form2" />

<asp:Button ID="btn_View1_Next" runat="server" CausesValidation="true" Text="Next" 
            ValidationGroup="Form2" OnClientClick="return ValidateDropDown();" 
            UseSubmitBehavior ="true" />

6 个答案:

答案 0 :(得分:3)

只是为了确定:在JavaScript中定义了ValidateDropDown ,对吗? OnClientClick是在客户端端执行的操作,即javascript。

另一件事可能是OnClientClick的语法可能需要不同,例如:OnClientClick =“ValidateDropDown()”

答案 1 :(得分:1)

您的问题有点不清楚哪个函数没有触发(JS OnClientClick或服务器端OnClick),但如果它是服务器端,请确保ValidateDropDown()正在返回true 。如果它返回falsenull或其他内容,则服务器方法将不会触发。

您可以发布ValidateDropDown的代码吗?你确认它正在解雇吗?

答案 2 :(得分:0)

后退按钮设置为不导致验证,并且没有定义OnClientClick操作。

答案 3 :(得分:0)

您的ValidateDropDown方法可能抛出异常,导致回发无论如何都会发生。

你可以发布该方法的内容吗?

或者,使用Firebug并在调试菜单中检查Break on all script errors

此外,OnClientClick代码在浏览器中运行,并且它调用的方法必须在Javascript中定义,而不是VB。

答案 4 :(得分:0)

确保验证未触发。可能是验证正在激活,您无法看到Text或ErrorMessage,因为默认情况下它是空白的。

答案 5 :(得分:0)

你的验证功能中有一个断点,它没有被击中?或者你认为它没有被击中,因为你的页面还是回帖?

我希望调用ValidateDropDown函数,但我不确定。但是,我也认为不重要。我认为这不重要,因为看起来你想要阻止回发,这不是那样做的方法。你想阻止回发吗?

如果是这样,我认为最好的办法是抛弃按钮的OnClientClick,而是为dropdroplist添加一个CustomValidator控件,然后将ClientValidationFunction设置为“ValidateDropDown”。已经有一个asp.net客户端验证框架,所以我只是建立在它上面。

但我只是网络上的一个白痴,我几乎没有读你的问题而且我的声誉是16,所以我绝对不会听我的。