ユーザーのパスワードまたはユーザー名が8文字未満であるかどうかを確認しようとしていますが、前にこれを行いましたが、フォームにonsubmit="return Validation()"
を使用しています。しかし、今はフォームをajax経由で送信しています。私はajaxコードで次のコードを変換または挿入する方法がわかりません。ajaxでパスワードが8文字未満であるかどうかをチェックする方法は?
以下は自分のAjaxコードに含めるコードです。フォームを送信すると、ユーザーのユーザー名とパスワードが8文字未満であるかどうかがチェックされます。
function Validation(){
var username = document.getElementById ("username");
var password = document.getElementById ("password");
var username = $("#username").val();
var password = $("#password").val();
var password2 = $("#password2").val();
var user_textBox = document.getElementById("username");
var user_textLength = user_textBox.value.length;
var pw_textBox = document.getElementById("password");
var pw_textLength = pw_textBox.value.length;
var x = email;
var atpos = x.indexOf("@");
var dotpos = x.lastIndexOf(".");
if(user_textLength <= 7){
alert('Username must contain atleast 8 characters.');
document.getElementById ("username").focus();
return false;
}
else if(pw_textLength <= 7){
alert('Password must contain atleast 8 characters.');
document.getElementById ("password").focus();
return false;
}
else if(password2==""){
alert('Please re-type your password');
document.getElementById ("password2").focus();
return false;
}
else if(password != password2){
alert('Password and Re-typed Password do not match');
document.getElementById ("password2").focus();
return false;
}
else if (atpos<1 || dotpos<atpos+2 || dotpos+2>=x.length) {
alert("Not a valid e-mail address");
document.getElementById ("email").focus();
return false;
}
else{
return true;
}
}
以下は私のajaxコードです。
$('document').ready(function(){
function submitForm()
{
var data = $("#signUpForm").serialize();
$.ajax({
// code here...
});
return false;
}
$("#signUpForm").on("submit",submitForm);
document.forms["signUpForm"].reset();
});
EDIT:私のコードは次のようになりました
$('document').ready(function()
{
$('#signUpForm').submit(function(e)){
function Validation() {
var username = document.getElementById ("username");
var password = document.getElementById ("password");
var username = $("#username").val();
var password = $("#password").val();
var password2 = $("#password2").val();
var user_textBox = document.getElementById("username");
var user_textLength = username.trim().length;
var pw_textBox = document.getElementById("password");
var pw_textLength = password.trim().length;
var x = email;
var atpos = x.indexOf("@");
var dotpos = x.lastIndexOf(".");
if(user_textLength <= 7){
alert('Username must contain atleast 8 characters.');
document.getElementById ("username").focus();
return false;
}
else if(pw_textLength <= 7){
alert('Password must contain atleast 8 characters.');
document.getElementById ("password").focus();
return false;
}
else if(password2==""){
alert('Please re-type your password');
document.getElementById ("password2").focus();
return false;
}
else if(password != password2){
alert('Password and Re-typed Password do not match');
document.getElementById ("password2").focus();
return false;
}
else if(email==""){
alert('Please input your email');
document.getElementById ("email").focus();
return false;
}
else if (atpos<1 || dotpos<atpos+2 || dotpos+2>=x.length) {
alert("Not a valid e-mail address");
document.getElementById ("email").focus();
return false;
}
else{
return true;
}
}
if(!Validation()){
e.preventDefault();
return false;
} else {
//var data = $("#signUpForm").serialize();
$.ajax({
type : 'POST',
url : 'signup.php',
data : $(this).serialize()
beforeSend: function()
{
$("#error").fadeOut();
},
success : function(data)
{
if(data==2){
$("#error").fadeIn(1000, function(){
alert('Email is already taken.');
document.getElementById ("email").focus();
});
}
else if(data==1){
$("#error").fadeIn(1000, function(){
alert('Username is already taken.');
document.getElementById ("username").focus();
});
}
else if(data==3)
{
alert('Registration successfully submitted.');
window.location='index.php';
}
else{
$("#error").fadeIn(1000, function(){
$("#error").html('<div class="alert alert-danger"><span class="glyphicon glyphicon-info-sign"></span> '+data+' !</div>');
$("#btn-submit").html('<span class="glyphicon glyphicon-log-in"></span> Create Account');
});
}
}
});
return false;
}
});
$("#signUpForm").on("submit",submitForm);
document.forms["signUpForm"].reset();
});
を私はしばらく前にこれをしなかった、それがtextLengthをチェックしていますが、すべてが固定されており、私はフォームを送信した場合、それだけであなたは、通常、デフォルトの動作を阻止する必要が – Felix
...ページを再読み込みします: 'form.on( 'submit'、function(event){event.preventDefault(); }); '、あなたの長さチェックの' event.preventDefault() '。 –