PDA

View Full Version : سوال: نحوه function دادن به input



aafshar18
جمعه 29 خرداد 1394, 17:49 عصر
با سلام خدمت شما عزیزان محترم.دیدید توی بعضی از سایت های ثبت نام از input استفاده میشه و زمانی که مثلا پسوردت کمتر از 8 کاراکتر باشه ارور میده؟
من خواستم این کد رو بنویسم ولی با مشکل مواجه شدم لطفا راهنمایی کنید
کد:

<form><input type="password" name="psw" onclick="a()"></input></form>
<script>function a()
if psw<8(alert("password is too short"))
</script>

barnamenevis2016
جمعه 29 خرداد 1394, 18:59 عصر
سلام
شما در کد زیر نوشتید که:
if psw<8(alert("password is too short"))
که باید به جای psw کد زیر رو جا بدیدتا بتونید مقدار درون فیلد رو داشته باشید البته به شرطی که نام Id فیلدتون رو گذاشته باشید passwordInput_1:
document.getElementById('passwordInput_1').value
یا می تونید به جای کد بالا از کد زیر هم استفاده کنید به شرطی که در تابع a یک ورودی بخواهید... یعنی function a(arg و در تگ اینپوت هم تابع a(this رو فراخوانی کنید..
this.value
از طرف دیگه....شما باید به جای رویداد onclick از رویداد های دیگه استفاده کنید..یعنی اینطور بهتره...که این دیگه به خودتون بستگی داره که می خوایید کی و چه زمان و چطوری به کاربر پیغام خطا بدید که مثلا پسورد وارد کردش کوتاهه....
فکر می کنم سوال کمی زیاد مبتدی باشه.... :متفکر: :لبخند:

aafshar18
جمعه 29 خرداد 1394, 19:55 عصر
اره خیلی.چون من تازه وارد مبحث input شدم. باز هم تشکر.

barnamenevis2016
جمعه 29 خرداد 1394, 20:37 عصر
سلام دوباره....ببخشید من یک جورایی ناقص جواب دادم....
این کد html تون هست:

<form>
<input type="password" name="psw" onkeyup="passwordAlert(this)" /><span id="passwordAlert"></span>
</form>
در کد بالا در کنار فیلد یک تگی هست به شکل زیر:


<span id="passwordAlert"></span>
که می بینید که خالیه...و اون تذکر به جای اینکه در نمونه شما به شکل alert نمایش داده بشه در اون قسمت نمایش داده خواهد شد....و کد جاوا هم به شکل زیره:



<script>
function passwordAlert(input) {
if ( input.value.length < 8 && input.value.length!=0 ){
document.getElementById('passwordAlert').innerHTML ="<b style='color: rgb(155,33,33)'> password is too short </b>"
}else{
document.getElementById('passwordAlert').innerHTML ="<b> good </b>"
}
}
</script>هر وقت که کاربر مفداری درون فیلد وارد می کنه تابع کنترل پسورد اجرا می شه که اینکار با استفاده از رویداد onkeyup که در تگ اینپود قرار داده شده انجام می شه...و متناسب با ورودی کاربر پیفامی برای کاربر نمایش می ده...در نهایت کد زیر خواهیم داشت:


<script>
function passwordAlert(input) {
if ( input.value.length < 8 && input.value.length!=0 ){
document.getElementById('passwordAlert').innerHTML ="<b style='color: rgb(155,33,33)'> password is too short </b>"
}else{
document.getElementById('passwordAlert').innerHTML ="<b> good </b>"
}
}
</script>
<form>
<input type="password" name="psw" onkeyup="passwordAlert(this)" /><span id="passwordAlert"></span>
</form>
که البته باز می تونه به سلیقه و هدف شما تغییر کنه...البته کنترل تنها توسط جاوا کافی نیست..و طبیعتا یکبار هم باید در هنگام ثبت اطلاعات که حالا با php می تونه انجام بشه...پسورد کنترل بشه....باز تاکید می کنم...کد بالا یک نمونه بود...باز مونده سلیقه و هدفتون دقیق چی باشه