我想控制甚至用户正确填写表格。因此,我将提交按钮中的 javascript 控件添加到点击事件中。在我的表单中,有很多 asp.net 控件,我也有一个安全代码。因此,我编写了一个运行顺畅的 Web 方法。但是,如果用户错误地填写了安全代码字段,我的“return false”代码将不再起作用并且页面回发。这是我的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;
}