PDA

View Full Version : مشکل در چک کردن فرم ثبت نام



mamad_za
جمعه 02 بهمن 1394, 17:28 عصر
سلام دوستان من یه صفحه دارم که میاد فرم ثبت نام صفحه رو چک می کنه که اگه فیلدی خالی بود بهش خطا میده تا اون خطا رو اصلاح نکنه اجازه ارسال فرم رو بهش نمیده اما یه مشکلی که دارم اینه که مثلا می خوام یه textbox رو چک نکنه اگه کاربر خواست اون رو خالی بزاره کد رو پایین می زارم ببینید راهی داره ؟
$('form').submit(function () {
var allIsOk = true;
// Check if empty of not
$(this).find( 'input[type!="hidden"]' ).each(function () {
if ( ! $(this).val() ) {
$(this).next("span").fadeIn(1000);
$(this).next("span").html('<font color="red">' +"فیلد مورد نظر نمی تواند خالی باشد."+'</font>');
$(this).next("span").fadeOut(5000);
allIsOk = false;
}
});

return allIsOk;
});
خوب این مشکل اولم بود مشکل دوم هم اینه که من یه سری شرط های دیگه هم واسه فرمم گذاشتم اما یه مشکلی که دارم نمی تونم به فرمم حالی کنم که اگه خطا داشت فرم ارسال نشه ، ارور رو نشون می ده به کاربر اما اگه کاربر ارور رو برطرف هم نکنه می تونه اطلاعات رو ارسال کنه
مثال:
$("#repass").change(function() {
var pass = $("#pass").val();
var repass = $("#repass").val();
if(pass==repass){
$("#repass").next("span").html('').fadeIn(100);
$('form').submit(function () { return true;});
}else{
$("#repass").next("span").html('<font color="red">' +'کلمه عبورهای وارد شده یکسان نمی باشد.</font> ').fadeIn(100);
}
});

کل نمونه کد هام رو هم میزارم اصلا ببیندی چنین طرز کد نویسی درست هست یا نه ؟ چون این نمونه کار اولمه می خواستم همه چی رو بدون plugin ها انجام بدم ممنون میشم راهنمایی کنید.
$(document).ready(function(){

/*$('#soption').on("click",function(){
var id=$(this).attr("value");
show('shahr',id);
}); */
$("#skm").keydown(function(e){

//$(this).next("span").html("$" + quantityPrice);
if ($.inArray(e.keyCode, [46, 8, 9, 27, 13, 110, 190]) !== -1 ||
// Allow: Ctrl+A, Command+A
(e.keyCode == 65 && ( e.ctrlKey === true || e.metaKey === true ) ) ||
// Allow: home, end, left, right, down, up
(e.keyCode >= 35 && e.keyCode <= 40)) {
// let it happen, don't do anything
return;
}
// Ensure that it is a number and stop the keypress
if ((e.shiftKey || (e.keyCode < 48 || e.keyCode > 57)) && (e.keyCode < 96 || e.keyCode > 105)) {
$( this ).addClass( "jqeuryeror" );
$(this).next("span").css("display","inline-block");
e.preventDefault();
$(this).next("span").text("فقط عدد وارد نمایید.");
setTimeout(function(){
$('#skm').removeClass('jqeuryeror');
},2000);

$(this).next("span").fadeOut(4000);

}
});
$("#tell").keydown(function(e){
if ($.inArray(e.keyCode, [46, 8, 9, 27, 13, 110, 190]) !== -1 ||
// Allow: Ctrl+A, Command+A
(e.keyCode == 65 && ( e.ctrlKey === true || e.metaKey === true ) ) ||
// Allow: home, end, left, right, down, up
(e.keyCode >= 35 && e.keyCode <= 40)) {
// let it happen, don't do anything
return;
}
// Ensure that it is a number and stop the keypress
if ((e.shiftKey || (e.keyCode < 48 || e.keyCode > 57)) && (e.keyCode < 96 || e.keyCode > 105)) {
$( this ).addClass( "jqeuryeror" );
$(this).next("span").css("display","inline-block");
e.preventDefault();
$(this).next("span").text("فقط عدد وارد نمایید.");
setTimeout(function(){
$('#tell').removeClass('jqeuryeror');
},2000);

$(this).next("span").fadeOut(4000);

}

});
$(".txtskb").keydown(function(e){
if ($.inArray(e.keyCode, [46, 8, 9, 27, 13, 110, 190]) !== -1 ||
// Allow: Ctrl+A, Command+A
(e.keyCode == 65 && ( e.ctrlKey === true || e.metaKey === true ) ) ||
// Allow: home, end, left, right, down, up
(e.keyCode >= 35 && e.keyCode <= 40)) {
// let it happen, don't do anything
return;
}
// Ensure that it is a number and stop the keypress
if ((e.shiftKey || (e.keyCode < 48 || e.keyCode > 57)) && (e.keyCode < 96 || e.keyCode > 105)) {
$( this ).addClass( "jqeuryeror" );
$(this).next("span").css("display","inline-block");
e.preventDefault();
$(this).next("span").text("فقط عدد وارد نمایید.");
setTimeout(function(){
$('.txtskb').removeClass('jqeuryeror');
},2000);

$(".skb").next("span").fadeOut(4000);

}

});
$('form').submit(function () {
var allIsOk = true;
// Check if empty of not
$(this).find( 'input[type!="hidden"]' ).each(function () {
if ( ! $(this).val() ) {
$(this).next("span").fadeIn(1000);
$(this).next("span").html('<font color="red">' +"فیلد مورد نظر نمی تواند خالی باشد."+'</font>');
$(this).next("span").fadeOut(5000);
allIsOk = false;
}
});

return allIsOk;
});

$("#pass").change(function() {
var pass = $("#pass").val();
if(pass.length < 8){
$("#pass").next("span").html('<font color="red">' +'طول پسورد حداقل باید دارای 8 کاراکتر باشد. </font> ').fadeIn(100);
}else{
$("#pass").next("span").html('').fadeIn(100);
}
});

$("#repass").change(function() {
var pass = $("#pass").val();
var repass = $("#repass").val();
if(pass==repass){
$("#repass").next("span").html('').fadeIn(100);
$('form').submit(function () { return true;});
}else{
$("#repass").next("span").html('<font color="red">' +'کلمه عبورهای وارد شده یکسان نمی باشد.</font> ').fadeIn(100);
}
});
var check;
$("#hometel").on("click", function(){
check = $("#hometel").is(":checked");
if(check) {
$("#divhometel").css("display","block");
} else {
$("#divhometel").css("display","none");
}
});

$("#skm").change(function() {
var usr = $("#skm").val();
if(usr.length == 10){
$("#skm").next("span").html('<img src="img/loader.gif" align="absmiddle">&nbsp;Checking availability...');

$.ajax({
type: "POST",
url: "ajx.php",
data: "func=showuser&skm="+ usr,
success: function(msg){
if(msg == 'OK')
{
$("#skm").next("span").html('&nbsp;<img src="img/tick.gif" align="absmiddle">').fadeIn(100);
}
else
{
$("#skm").next("span").html(msg).fadeIn(1000);
$("#skm").next("span").html(msg).fadeOut(4000);
}


}

});

}
else
{
$("#skm").next("span").html('<font color="red">' + 'شما باید حتما تعداد <strong>10</strong> رقم وارد نمایید.</font>').fadeIn(1000);
$("#skm").next("span").html('<font color="red">' + 'شما باید حتما تعداد <strong>10</strong> رقم وارد نمایید.</font>').fadeOut(8000);

}

});
});