PDA

View Full Version : مبتدی: چک کردن پر بودن یک Text box



babak1
چهارشنبه 20 اردیبهشت 1391, 10:04 صبح
سلام :
من می خواستم در کد html خودم چک کنم که آیا مقدار یک Textbox خالی است یا خیر. و در صورت خالی بودن پیغامی ظاهر شود و به کاربر اطلاع دهد که باید آن را پر کند.

یک سوال دیگه هم داشتم و اون اینکه آیا ممکنه که به جای نمایش یه message box پیغام خطا در کنار همون Text box نشون داده بشه؟

با تشکر.

vs.js_2012
چهارشنبه 20 اردیبهشت 1391, 12:40 عصر
منم همین سوالو دارم

ravand
چهارشنبه 20 اردیبهشت 1391, 12:40 عصر
با جي كوئري كار كن با همه ي مرورگرها سازگاره.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>فرم تماس با ما</title>
<script src="jquery.js" type="text/javascript"></script>
</head>
<script>
$(function()
{
function validateEmail(elementValue)
{
var emailPattern = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/;
return emailPattern.test(elementValue);
}
$('#b').click(function()
{
$('#t1').next('span').html('');
$('#t2').next('span').html('');
$('#t3').next('span').html('');
$('#email').next('span').html('');
var t1 = $('#t1').val();
var t2 = $('#t2').val();
var t3 = $('#t3').val();
var email = $('#email').val();
var valid = true;
if(t1 == '')
{
$('#t1').next('span').html(' فیلد را پر کنید');
valid = false;
}
if(t2 == '')
{
$('#t2').next('span').html(' فیلد را پر کنید');
valid = false;
}
if(t3 == '')
{
$('#t3').next('span').html(' فیلد را پر کنید');
valid = false;
}
if(validateEmail(email) == false)
{
$('#email').next('span').html(' ایمیل معتبر نیست');
valid = false;
}
if(valid == true)
{
document.forms['contact-form'].submit();
}

});
});
</script>
<body style="font-family:tahoma; font-size:12px;direction:rtl;">
<fieldset style="width:300px;">
<legend style="font-weight:bold;color:#0C3;">فرم تماس با ما</legend>
<p>پرکردن تمام فیلدها الزامی است.</p>
<form method="post" action="#" style="direction:rtl;" id="contact-form">
<label style="display:block;margin:3px 0;">نام و نام خانوادگی:</label><input name="Name" type="text" id="t1" /><span style="color:#F00"></span>
<label style="display:block;margin:3px 0;">پست الکترونیک:</label><input name="E-Mail" id="email" type="text" dir="ltr" /><span style="color:#F00"></span>
<label style="display:block;margin:3px 0;">موضوع:</label><input name="Title" type="text" id="t2" /><span style="color:#F00"></span>
<label style="display:block;margin:3px 0;">پیام:</label><textarea name="Message" cols="25" rows="6" id="t3" ></textarea><span style="color:#F00"></span>

<input type="button" value="ارسال" style="font-family:tahoma;" name="b" id="b" /> <input type="reset" value="از نو" style="font-family:tahoma;" />
</form>
</fieldset>
</body>
</html>

babak1
چهارشنبه 20 اردیبهشت 1391, 18:20 عصر
دوست عزیز کد ریز هیچ پیغامی نمیده .شما تست کردین؟


با جي كوئري كار كن با همه ي مرورگرها سازگاره.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>فرم تماس با ما</title>
<script src="jquery.js" type="text/javascript"></script>
</head>
<script>
$(function()
{
function validateEmail(elementValue)
{
var emailPattern = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/;
return emailPattern.test(elementValue);
}
$('#b').click(function()
{
$('#t1').next('span').html('');
$('#t2').next('span').html('');
$('#t3').next('span').html('');
$('#email').next('span').html('');
var t1 = $('#t1').val();
var t2 = $('#t2').val();
var t3 = $('#t3').val();
var email = $('#email').val();
var valid = true;
if(t1 == '')
{
$('#t1').next('span').html(' فیلد را پر کنید');
valid = false;
}
if(t2 == '')
{
$('#t2').next('span').html(' فیلد را پر کنید');
valid = false;
}
if(t3 == '')
{
$('#t3').next('span').html(' فیلد را پر کنید');
valid = false;
}
if(validateEmail(email) == false)
{
$('#email').next('span').html(' ایمیل معتبر نیست');
valid = false;
}
if(valid == true)
{
document.forms['contact-form'].submit();
}

});
});
</script>
<body style="font-family:tahoma; font-size:12px;direction:rtl;">
<fieldset style="width:300px;">
<legend style="font-weight:bold;color:#0C3;">فرم تماس با ما</legend>
<p>پرکردن تمام فیلدها الزامی است.</p>
<form method="post" action="#" style="direction:rtl;" id="contact-form">
<label style="display:block;margin:3px 0;">نام و نام خانوادگی:</label><input name="Name" type="text" id="t1" /><span style="color:#F00"></span>
<label style="display:block;margin:3px 0;">پست الکترونیک:</label><input name="E-Mail" id="email" type="text" dir="ltr" /><span style="color:#F00"></span>
<label style="display:block;margin:3px 0;">موضوع:</label><input name="Title" type="text" id="t2" /><span style="color:#F00"></span>
<label style="display:block;margin:3px 0;">پیام:</label><textarea name="Message" cols="25" rows="6" id="t3" ></textarea><span style="color:#F00"></span>

<input type="button" value="ارسال" style="font-family:tahoma;" name="b" id="b" /> <input type="reset" value="از نو" style="font-family:tahoma;" />
</form>
</fieldset>
</body>
</html>

ravand
چهارشنبه 20 اردیبهشت 1391, 18:24 عصر
اين كدها به زبان جي كوئري نوشته شده . پس شما به يك فايل با نام jquery.js همونطوري كه در كد مي بينيد نياز داريد.

babak1
پنج شنبه 21 اردیبهشت 1391, 13:58 عصر
حالا مشکل که شد 2 تا !! حالا توی این فایل Jquery چی باید باشه ؟؟

ravand
پنج شنبه 21 اردیبهشت 1391, 14:05 عصر
برو به اين آدرس و فايل جي كوئري رو دانلود كن:
http://www.up.perfo.ir/images/xay2vqffs6yeqq84q98j.zip
از حالت فشرده درش بيار و فايل رو اونطوري كه مشخص شده قرار بده.

babak1
جمعه 22 اردیبهشت 1391, 10:42 صبح
من یه Textbox اضافه کردم و تغییرات رو هم در function اعمال کردم ولی برای text box جدید جواب نمی ده. من میخوام یه خورده تغییر بدم





<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>فرم تماس با ما</title>
<script src="jquery.js" type="text/javascript"></script>
</head>
<script>
$(function()
{
function validateEmail(elementValue)
{
var emailPattern = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/;
return emailPattern.test(elementValue);
}
$('#b').click(function()
{
$('#t1').next('span').html('');
$('#test').next('span').html('');
$('#t2').next('span').html('');
$('#t3').next('span').html('');
$('#email').next('span').html('');
var t1 = $('#t1').val();
var t2 = $('#t2').val();
var t3 = $('#t3').val();
var email = $('#email').val();
var valid = true;
if(t1 == '')
{
$('#t1').next('span').html(' فیلد را پر کنید');
valid = false;
}
if(t2 == '')
{
$('#t2').next('span').html(' فیلد را پر کنید');
valid = false;
}
if(t3 == '')
{
$('#t3').next('span').html(' فیلد را پر کنید');
valid = false;
}
if(validateEmail(email) == false)
{
$('#email').next('span').html(' ایمیل معتبر نیست');
valid = false;
}
if(valid == true)
{
document.forms['contact-form'].submit();
}
if(test == '')
{
$('#test').next('span').html(' فیلد را پر کنید');
valid = false;
}


});
});
</script>
<body style="font-family:tahoma; font-size:12px;direction:rtl;">
<fieldset style="width:300px;">
<legend style="font-weight:bold;color:#0C3;">فرم تماس با ما</legend>
<p>پرکردن تمام فیلدها الزامی است.</p>
<form method="post" action="#" style="direction:rtl;" id="contact-form">
<label style="display:block;margin:3px 0;">نام و نام خانوادگی:</label><input name="Name" type="text" id="t1" /><span style="color:#F00"></span>
<label style="display:block;margin:3px 0;">پست الکترونیک:</label><input name="E-Mail" id="email" type="text" dir="ltr" /><span style="color:#F00"></span>
<label style="display:block;margin:3px 0;">موضوع:</label><input name="Title" type="text" id="t2" /><span style="color:#F00"></span>
<label style="display:block;margin:3px 0;">پیام:</label><textarea name="Message" cols="25" rows="6" id="t3" ></textarea><span style="color:#F00"></span>

<input type="button" value="ارسال" style="font-family:tahoma;" name="b" id="b" /> <input type="reset" value="از نو" style="font-family:tahoma;" />
<p><input type="text" name="test" size="20"></p>
</form>
</fieldset>
</body>
</html>

ravand
جمعه 22 اردیبهشت 1391, 10:50 صبح
من الان در اكسپلورر و فايرفاكس و كروم هم تست كردم و جواب داد.
شما چند تا تكست داريد؟
آيا همين كدهايي هست كه بهتون دادم يا اين كدها رو تغيير داديد ؟ و چند تا تكست اضافه كرديد؟

babak1
جمعه 22 اردیبهشت 1391, 17:19 عصر
من یک Textbox به اسم test اضافه کردم. توی کد هستش.