我想控制甚至用户正确填写表单。所以,我将提交按钮中的javascript控件添加到click事件中。在我的形式,有很多asp.net控件,我也有一个安全代码。所以,我写一个网络方法工作顺利。但是,如果用户错误地填写了安全代码字段,我的“返回错误”代码将不再起作用,并且页面帖子会重新发布。这是我的javascript代码:
function checkFacebookRegister() {
var error = "";
var username = $('#<%=tbUsername.ClientID%>').val();
pattern = new RegExp(/^[0-9a-zA-Z-_]*$/);
if (username.length >= 4 && pattern.test(username)) {
jQuery.ajax({
method: 'GET',
url: 'ajax/checkUsername.aspx',
data: "username=" + username
}).done(function (data) {
if (data != "true") {
error = "Seçtiğiniz kullanıcı adı uygun değil.";
$('#errorDivision').show(1);
$('#error').html(error);
return false;
}
});
} else {
error = "Seçtiğiniz kullanıcı adı minimum 4 karakter olmalı, Türkçe karakter bulunmayan ve noktalama işaretlerinden sadece alt tire içerecek şekilde olmalıdır.";
$('#errorDivision').show(1);
$('#error').html(error);
return false;
}
var faculty = $('#<%=ddlFaculty.ClientID%>').val();
if (faculty == "0") {
error = "Şehir, Üniversite ve Fakülte bilgileri eksiksiz girilmelidir.";
$('#errorDivision').show(1);
$('#error').html(error);
return false;
}
var password = $('#<%=tbPassword.ClientID%>').val();
var passwordConf = $('#<%=tbPasswordConf.ClientID%>').val();
if (password.length < 6) {
error = "Seçtiğiniz parola en az 6 karakter olmalıdır.";
$('#errorDivision').show(1);
$('#error').html(error);
return false;
} else if (password != passwordConf) {
error = "Parolanız tekrarıyla uyuşmamaktadır.";
$('#errorDivision').show(1);
$('#error').html(error);
return false;
}
var securityCode = $('#<%=tbSecurityCode.ClientID%>').val();
**PageMethods.checkSecurityCode(securityCode, checkSecurityCallBackSuccess, checkSecurityCallBackFailed);**
if (!$('#<%=cbUserAgreement.ClientID%>').is(':checked')) {
error = "Üyelik Sözleşmesi' ni onaylamanız gerekmektedir.";
$('#errorDivision').show(1);
$('#error').html(error);
return false;
}
}
function checkSecurityCallBackSuccess(response)
{
if (response == false)
{
error = "Güvenlik kodubu yanlış girdiniz.";
$('#errorDivision').show(1);
$('#error').html(error);
return false;
}
}
function checkSecurityCallBackFailed(error) {
alert(error);
error = "Belirlenemeyen bir hata oluştu.";
$('#errorDivision').show(1);
$('#error').html(error);
return false;
}
答案 0 :(得分:1)
你想要在你的AJAX调用之外移动return false;
,或者可能重构代码,这样你就可以为整个函数设置一个return false
,而不是在整个函数中使用它们。