PDA

View Full Version : مشکل در ساخت یک ولید دیتا ساده



binboy
یک شنبه 12 تیر 1390, 22:34 عصر
سلام
یک ولید دیتا را با علم ناقص جمع و جور کردم. متاسفانه اونی که می خوام را نمی تونم پیاده کنم. این ارورگیریش به این شکل است که هر فیلد را با هر بار کلیک ارور گیری می کنه.
یعنی اگر هیچ کدام از فیلدها را پر نکنی، برای فیلد اولی ارور میده در صورتی که فیلدهای دیگرم هم خالی ماندن و قابلیت نمایش ارور را دارند اگر فیلد اولی را پر کنی و دومی خالی باشد دومی ارور میده همینطور الی آخر.
1- چطوری میتونم کاری کنم که همه را به ترتیب ارور گیری نکنه و یکجا ارورها را نمایش بده؟
2- برای محدود کردن کارکتر(یعنی اگر کمتر از 4 کارکتر زد ارور بده) از val().length >= 3 استفاده می کنم که جواب نمیده. چرا؟
3. آیا میشه هر دو ارور گیر، یعنی خم اندازه کارکتر و هم خالی بودن فیلد را با هم ادغام کرد؟
کدها را قرار میدم تا بهتر بتونید راهنمایی کنید:
$("#login_submit").click(function () {
event.preventDefault();
var username = $("#input_username").val();
var password = $("#input_password").val();
var capcher = $("#input_code").val();
if(!username){
$('.result_username').html('<div class="not_ok"></div>');
}
else if(!password){
$('.result_password').html('<div class="not_ok"></div>');
}
else if(!capcher){
$('.result_capcher').html('<div class="not_ok"></div>');
}
});

با سپاس

sh_omid
سه شنبه 14 تیر 1390, 10:32 صبح
سلام
مشکل اصلی کدت elseها هستند،امیدوارم کد زیر مشکلت را حل کن :

<html>
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("#login_submit").click(function () {

var username = $("#input_username").val();
var password = $("#input_password").val();
var capcher = $("#input_code").val();
$("#content_error").html("");

username=username.split(' ').join('');
password=password.split(' ').join('');
capcher=capcher.split(' ').join('');

if(username.length==0){
$("#content_error").append("Username field can not be empty<br>");
}

if(password.length==0){
$("#content_error").append("password field can not be empty<br>");
}

if(capcher.length==0){
$("#content_error").append("code field can not be empty");
}
});
});
</script>
</head>
<body>
<div id="content_error">

</div>
<div>
<label>username: </label><input type="text" id="input_username"><br>
<label>password: </label><input type="text" id="input_password"><br>
<label>username: </label><input type="text" id="input_code"><br>
<input type="button" id="login_submit" value="Enter">
</div>
</body>
</html>

binboy
سه شنبه 14 تیر 1390, 15:29 عصر
تشکر،
اون مشکلش همونی بود که گفتید. متدهای .split(' ').join('') کارشون چیه؟

برای ولید گیری مقدارهای موجود در دیتابیس و مقدار فیلد(post)، موارد را با php نتیجه گیری کردم و با تابع json_encode فرستادم برای کد jQuery و در اونجا هم با jQuery.ajax و dataType: "json" دریافت کردم؟ حالا چگونه در success: function قرار بدم و کلاس مدنظر را نشان بدهم؟(true = 1 & false=0)

ببینید این یک نمونه php است:


$passadmin = $this->input->post('passadmin');
$query = $this->db->get_where('login', array('passadmin' => sha1($passadmin)));
if ($query->num_rows()==1) {
return true;
$pass_query = '1';
} else {
return false;
$pass_query = '0';
}
return json_encode($pass_query);