PDA

View Full Version : سوال: اشکال در استفاده از دستور blur



تبسم ساینا
جمعه 07 آذر 1393, 21:10 عصر
سلام دوستان.کدی نوشتم که یه input از نوع email داره.در حالت عادی داخلش متنی نوشته شده که وقتی ماوس داخلش قرار میگیره اون متن پاک میشه. اشکالی که داره اینه که وقتی متنی نوشته شده توسط کاربر پاک شد و ماوس در بخش دیگه ای از صفحه کلیک شد اون متن مورد نظر درون کادر email قرار نمگیره ! مشکلش چیه؟
<p>name: <input type="text"/></p>
<p>email: <input type="email"/></p>
$(document).ready(function(){ var default_text="please enter your email...";
$('input[type="email"]').attr('value',default_text).focus(function() {
if( $(this).val()==default_text)
{ $(this).attr('value','');}
});
$('input[type="email"]').blur(function() {
if( $(this).val()=='')
{ $(this).attr('value',default_text);}
});
});

ashkufaraz
جمعه 07 آذر 1393, 21:30 عصر
چرا از place holder استفاده نمی کنی؟دیگر احتیاجی هم به این دردسر ها نداری
مثل
<input type="text" name="fname" placeholder="ایمیل را وارد نمایید..."><br>

ashkufaraz
جمعه 07 آذر 1393, 21:31 عصر
چرا از place holder استفاده نمی کنی؟دیگر احتیاجی هم به این دردسر ها نداری مثل
http://www.w3schools.com/tags/att_input_placeholder.asp

ashkufaraz
جمعه 07 آذر 1393, 21:42 عصر
input های شما اصلا attribute . value را ندارد این کار می کند نگاهی بهش بنداز

<p>name: <input type="text" value=""/></p>

<p>email: <input type="email" value=""/></p>

http://jsfiddle.net/ez3kcpzn/1/

تبسم ساینا
شنبه 08 آذر 1393, 18:35 عصر
چرا از place holder استفاده نمی کنی؟دیگر احتیاجی هم به این دردسر ها نداری
مثل
<input type="text" name="fname" placeholder="ایمیل را وارد نمایید..."><br>


placeholder کاراییش فرق داره با این.میخوام وقتی کلیک شد متن پاک بشه.اون راه حل هم جواب نداد !
بازم وقتی متنی تایپ میکنم و پاک میکنم متن دلخواه نشون داده نمیشه.

ashkufaraz
شنبه 08 آذر 1393, 20:51 عصر
مگه نمی خواتسی روی blur متن را نشون بدی؟ یعنی می خوایی وقتی متنی تایپ کرد و پاک کرد بازم متن دلخواه نشون بده؟
منظورت رو متوجه نشدم

تبسم ساینا
یک شنبه 09 آذر 1393, 07:25 صبح
مگه نمی خواتسی روی blur متن را نشون بدی؟ یعنی می خوایی وقتی متنی تایپ کرد و پاک کرد بازم متن دلخواه نشون بده؟
منظورت رو متوجه نشدم

بله, منظورم همین بود.
درست شد.یه اشکال خیلی بیخود داشت ! باید به جای استفاده از متد attr از val استفاده میکردم !
var default_text="please enter your email..."; $('input[type="email"]').focusin(function() {
if( $(this).val()==default_text)
{ $(this).val('');}
});
$('input[type="email"]').blur(function() {
if( $(this).val()=='')
{ $(this).val(default_text);}
});