我有这么多
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。为什么?
最佳答案
不要使用ClientID
,使用UniqueID
if (Page_IsValid) {
alert('page is valid');
$('#<%=btnSaveContest.ClientID%>').attr('disabled', 'disabled');
__doPostBack('<%= btnSaveContest.UniqueID %>', '')
return true;
}
else {
alert('not valid');
return false;
}
这个question可能有用。
关于javascript - asp.net 和 javascript 中的回发和验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7281573/