【发布时间】:2011-09-02 09:31:24
【问题描述】:
我有这么多
HTML
<asp:Button ID="btnSaveContest" runat="server" Text="Save & Publish Contest" OnClientClick=" ValidateCreateContest();"
ValidationGroup="ContestAdd" OnClick="btnSaveContest_Click" CausesValidation="false"/>
JavaScript
<script type="text/javascript">
function ValidateCreateContest() {
Page_ClientValidate();
if (Page_IsValid) {
alert('page is valid');
$('#<%=btnSaveContest.ClientID%>').attr('disabled', 'disabled');
__doPostBack('<%=btnSaveContest.ClientID%>', '')
return true;
}
else {
alert('not valid');
return false;
}
}
</script>
它会回传到页面,但不会转到服务器端函数 btnSaveContest_Click。为什么?
【问题讨论】:
-
我在做与此类似的事情时遇到了一些麻烦。我发现的一种解决方案是执行
OnClientClick="ValidateCreateContest(); return isFormValid;",然后在ValidateCreateContest();函数中根据需要执行isFormValid = true、isFormValid = false,其中isFormValid是一个全局变量。 -
@Oliver :- 它进行了回发,但没有转到 btnSaveContest_Click 函数... ???
-
首先使用错误控制台检查页面中是否有任何javascript错误。如果您使用断点检查它,则停止项目进行干净的构建,然后再次重新构建并运行项目,看看它是否有帮助,如果这不起作用,请尝试更改默认浏览器。
标签: javascript asp.net validation postback