PDA

View Full Version : فرم تغییر اطلاعات کاربران



mammadyeta
چهارشنبه 02 اسفند 1391, 18:30 عصر
سلام به همه دوستان
کلی گشتم همه جارو و مطالبی هم پیدا کردم ولی اون چیزی که مد نظر من هست پیدا نکردم، به همین دلیل اینجا مطرح می کنم.
یه صفحه داریم داریم حاوی یک فرم برای تغییر اطلاعات کاربران سایت. وقتی این صفحه فراخوانی میشه id کاربری که میخوایم تغییرات بدیم به این صفحه ارسال میشه و از دیتابیس اطلاعات اون کاربر رو در فرم قرار میدیم.
چندتا از فیلدهامون هم ضروری هست و باید پر بشه.(مثلا نام و نام خانوادگی)
حالا من میخوام وقتی یکی از فیلدها خالی هست و دکمه ذخیره رو زدم بدون اینکه صفحه POST بشه اون فیلد خالی رو شناسایی کنه و پیغام خطا بده.
چون وقتی صفحه POST میشه فیلد خالی رو با شرطی که گذاشتم شناسایی میکنه ولی وقتی صفحه لود میشه دوباره فیلد خالی با مقداری که قبلا داشت پر میشه.
امیدوارم تونسته باشم مطلب رو برسونم.
با تشکر

farazjalili
چهارشنبه 02 اسفند 1391, 18:46 عصر
salam azizam mitoni az java script komak begiri k gable az post kardan khali budan field ha ro check kone

mojtaba.baghban
چهارشنبه 02 اسفند 1391, 19:31 عصر
برای اینکار باید از جاوا اسکریپت استفاده بشه.
پیشنهاد من اینه که از فریمورک jquery واسه جاوا اسکریپت استفاده کنی که یه پلاگین داره بنام validation که واقعا قدرتمند و کار راه اندازه

mammadyeta
پنج شنبه 03 اسفند 1391, 08:33 صبح
ممنونم دوستان.
امکانش هست یه نمونه کد قرار بدید. من هرکاری کردم نتونستم انجامش بدم.
با تشکر

farazjalili
جمعه 04 اسفند 1391, 09:36 صبح
<script type='text/javascript'>

function formValidator(){
// Make quick references to our fields
var firstname = document.getElementById('firstname');
var addr = document.getElementById('addr');
var zip = document.getElementById('zip');
var state = document.getElementById('state');
var username = document.getElementById('username');
var email = document.getElementById('email');

// Check each input in the order that it appears in the form!
if(isAlphabet(firstname, "Please enter only letters for your name")){
if(isAlphanumeric(addr, "Numbers and Letters Only for Address")){
if(isNumeric(zip, "Please enter a valid zip code")){
if(madeSelection(state, "Please Choose a State")){
if(lengthRestriction(username, 6, 8)){
if(emailValidator(email, "Please enter a valid email address")){
return true;
}
}
}
}
}
}


return false;

}

function notEmpty(elem, helperMsg){
if(elem.value.length == 0){
alert(helperMsg);
elem.focus(); // set the focus to this input
return false;
}
return true;
}

function isNumeric(elem, helperMsg){
var numericExpression = /^[0-9]+$/;
if(elem.value.match(numericExpression)){
return true;
}else{
alert(helperMsg);
elem.focus();
return false;
}
}

function isAlphabet(elem, helperMsg){
var alphaExp = /^[a-zA-Z]+$/;
if(elem.value.match(alphaExp)){
return true;
}else{
alert(helperMsg);
elem.focus();
return false;
}
}

function isAlphanumeric(elem, helperMsg){
var alphaExp = /^[0-9a-zA-Z]+$/;
if(elem.value.match(alphaExp)){
return true;
}else{
alert(helperMsg);
elem.focus();
return false;
}
}

function lengthRestriction(elem, min, max){
var uInput = elem.value;
if(uInput.length >= min && uInput.length <= max){
return true;
}else{
alert("Please enter between " +min+ " and " +max+ " characters");
elem.focus();
return false;
}
}

function madeSelection(elem, helperMsg){
if(elem.value == "Please Choose"){
alert(helperMsg);
elem.focus();
return false;
}else{
return true;
}
}

function emailValidator(elem, helperMsg){
var emailExp = /^[\w\-\.\+]+\@[a-zA-Z0-9\.\-]+\.[a-zA-z0-9]{2,4}$/;
if(elem.value.match(emailExp)){
return true;
}else{
alert(helperMsg);
elem.focus();
return false;
}
}
</script>

<form onsubmit='return formValidator()' >
First Name: <input type='text' id='firstname' /><br />
Address: <input type='text' id='addr' /><br />
Zip Code: <input type='text' id='zip' /><br />
State: <select id='state'>
<option>Please Choose</option>
<option>AL</option>
<option>CA</option>
<option>TX</option>
<option>WI</option>
</select><br />
Username(6-8 characters): <input type='text' id='username' /><br />
Email: <input type='text' id='email' /><br />
<input type='submit' value='Check Form' />
</form>