ظاهر شدن یک Text box پس از انتخاب یک گزینه ی خاص از یک Drop-Dwon box

من توي فرمم يه Drop-Dwon box دارم و میخوام مثلاً اگه کاربر گزینه ی 3 رو انتخاب کرد یه Text box که قبلاً مخفی بوده نمایش داده بشه.
مثلاً وقتی از توی Drop-Dwon box انتخاب کرد سنم بالای 60 سال هست یک Text box ظاهر بشه و بگه سنتون رو قیقاً بنویسید.
ممنون.
 

omidak

Active Member
سلام:
برايه اين كار از javascript و Style استفاده کنید
مانند نمونه روبه رو:
آشکار
کد:
<INPUT type="text" ID="Text1" NAME="Text1" style="VISIBILITY: visible">
مخفی:
کد:
<INPUT type="text" ID="Text1" NAME="Text1" style="VISIBILITY: hidden">
برایه مخفی کردن و آشکار کردن نیز با Java از کد مشابه باید استفاده کنید:
آشکار:
کد:
Text1.style.visibility="visible";
مخفی:
کد:
Text1.style.visibility="hidden";
البته به خاطر داشته باشید هنگامی که Text شما داخل یک Form هست اول ID فرم بعد Text1.,,,
مانند:
کد:
Form1.Text1.style.visibility="hidden";
 
ببينيد من يه همچين فرمي دارم:
کد:
<form method="POST" action="--WEBBOT-SELF--">
  <select size="1" name="D1">
  <option value="Mostafa">Mostafa</option>
  <option value="Bikaran">Bikaran</option>
  </select>
  <input type="text" name="T1" size="20">
</form>
ميخوام وقتي كاربر مثلاْ روي Mostafa کلیک کرد Text Box T1 ظاهر بشه.
ممنون.
 

omidak

Active Member
سلام:
خوب باز هم هموني شد كه گفتم.
اما يه چيزاهايي بهش اضافه ميكنم
شما برايه دست رسي به برنامه نویسی تحت Client شما حتماً باید برایه Object ها ID بزارید

برایه DropMenu اتون این کد رو اضافه کنید.
کد:
<select size="1" name="D1" ID ="D1" onchange="DMChange(this)">
<input type="text" name="T1" ID="T1" size="20" style="VISIBILITY: hidden">
بعد یک Function هم برایه انجام عملیات که همون نام DMChange هست
کد:
function DMChange(sender){
   if(sender.options[sender.selectedIndex].value == "Mostafa"){
      T1.style.visibility="visible";
   }
}
 

omidak

Active Member
راستي موقع ارسال نامه کد دار از كليد كد كه به علامت # هست جهت نمایش کد استفاده کنید
من این کار رو برایه شما کردم
 
مرسي از كدهاتون هنوز امتحان نكردم ولي فهميدم اين چي شد.
بازم ممنون.
براي كد هم اتفاقاْ داشتم فكر ميكردم اين تالار چه مدير زحمت كشي داره كه پست ها رو اديت ميكنه.
 

omidak

Active Member
سلام:
گفتم كه كد رو براتون اضافه كردم. كه در موقع خوندن راحتر و ... هست :wink:
موفق باشيد :wink:
 
ببخشيد دوباره مزاحم ميشم.
من اين كد رو مينويسم :
کد:
<script  language="JavaScript">
function DMChange(sender){ 
   if(sender.options[sender.selectedIndex].value == "Mostafa"){ 
      T1.style.visibility="visible"; 
   } 
} 
</script>
<form>
<select size="1" name="D1" ID ="D1" onchange="DMChange(this)"> 
<option value="Mostafa1">Mostafa1</option>
<option value="Mostafa">Mostafa</option>
</select>
<input type="text" name="T1" ID="T1" size="20" style="VISIBILITY: hidden">
</form>
ولي وقتي Mostafa رو انتخاب میکنم اون text box نشون داده نمیشه.
ممنون.
 

omidak

Active Member
سلام:
2 اشكال كوچيك
يك برايه Form اتون ID نزاشتید و بعد برایه T1 هم ID Form رو ندادید
یعنی به این صورت :wink: :
کد:
<script  language="JavaScript"> 
function DMChange(sender){ 
   if(sender.options[sender.selectedIndex].value == "Mostafa"){ 
      Form1.T1.style.visibility="visible"; 
   } 
} 
</script> 
<form ID="Form1"> 
<select size="1" name="D1" ID ="D1" onchange="DMChange(this)"> 
<option value="Mostafa1">Mostafa1</option> 
<option value="Mostafa">Mostafa</option> 
</select> 
<input type="text" name="T1" ID="T1" size="20" style="VISIBILITY: hidden"> 
</form>
 
خيلي ممنون از لطفتون.
حالا توي جاوا اسكريپت چيزي مثل دستور else هست که اگر گزینه ای به جز mostafa رو انتخاب کردی دوباره فیلد hidden بشه ؟
 

omidak

Active Member
سلام:
بله ميشه اما بهتره كه برايه DropSelect از Case استفاده کنید.
مانند:
کد:
var Sel;
Sel = sender.options[sender.selectedIndex].value;
switch(Sel){
   case "Mostafa":
      ...;
   breack
   case "Majid":
      ...;
   breack
   case "Omid":
      ...;
   breack
   default:
      ...;
}
کد Else هم به ای صورت کار میکنه: :wink:
کد:
if(...){
}
else{
}
یا
if(...){
}
else if(...){
}
else if(...){
}
else if(...){
}
else{
}
 

جدیدترین ارسال ها

بالا