我在 WebForms 页面上有以下按钮:
<asp:Button ID="btnNewProgramNext" runat="server" Text="Next >>" />
我有以下 javascript/jquery 来处理它的事件。
$('#<%= btnNewProgramNext.ClientID %>').on('click', function (e) {
var errorMessage = '';
var ok = false;
var newCompany = $('#<%= NewCompanyMode.ClientID %>').val();
if (newCompany == 1) {
if (!$('#<%= txtProgramCompanyName.ClientID %>').val())
errorMessage = 'You must enter a company name.';
else if (!$('#<%= txtContactFirstName.ClientID %>').val())
errorMessage = 'You must enter a contact first name.';
else if (!$('#<%= txtContactLastName.ClientID %>').val())
errorMessage = 'You must enter a contact last name.';
else
ok = true;
}
else {
// Do something else
ok = true;
}
$('#newProgramErrorMessage').text(errorMessage);
return ok;
});
问题是,当此处理程序返回 false 时(当ok
为 false 时,或者当我将最后一行更改为 时return false
),回发仍然发生。
有什么技巧可以防止来自 javascript 的回发吗?我希望这行得通。