Показать сообщение отдельно
  #1 (permalink)  
Старый 04.02.2010, 15:33
Новичок на форуме
Отправить личное сообщение для hizer Посмотреть профиль Найти все сообщения от hizer
 
Регистрация: 04.02.2010
Сообщений: 3

Условный раскрывающийся список на javascript
Доброго времени суток.

Нашел на одном сайте условный раскрывающийся список на javascript, переделал, получилась удобная форма заказа. В этой форме клиент выбирает название продукта, после чего появляются или пропадают другие списки для выбора переметров данного продукта.

Проблемой является то, что клиент за одни раз может заказать только один вид продукции. Нужно чтобы таких условных списков было 3. При размножении таких списков, работающим является только один. ID списков и названия функций я изменял для каждого списка, все безрезультатно.
Буду рад любому совету.

Код одного условного списка
<html>  
<head>
<title> spisok</title>
 <meta http-equiv="Content-Type" content="text/html; charset=windows-1251">   
</head>
<body>
<center> 
<table  >
 <tr>
  <td>
  <FORM name=frm1 id=frm1 ACTION="mail_form_2.php" METHOD="POST" > 
<select name="menu1" onChange="setvaluecontact1();"> 
<option value="empt"> </option>
<option value='1'>животные1
<option value='2'>фрукты1
<option value='3'>конфеты1
</select>
 </td> </tr>
 <tr><td id=animal>   
<select name=""> 
<option selected value=''> 
 <option value='2'>кот
 <option value='2'>собака
 <option value='2'>хомяк
</select> 
 </tr>  
 </td>
  <tr>
 <td id=fruit>  
 <select name=""  > 
<option selected value=''> 
 <option value='2'>апельсин
 <option value='2'>мандарин
 <option value='2'>банан
</select> </td>  
  </tr>
  <tr><td id=candy>  
 <select name=""  > 
<option selected value=''> 
 <option value='2'>кара-кум
 <option value='2'>белочка
 <option value='2'>ням-ням
 </td>
  </tr>
</table> 
 </form> 
 <script type="text/javascript" language="JavaScript" src="contact_1.js"></script>  
 
</body>
</html>


contact_1.js
if (window.navigator.userAgent.indexOf ("Opera") >= 0 || window.navigator.userAgent.indexOf ("Gecko") >= 0){
	ua = 'Netscape';
}else{
	ua = 'Explorer';
}
document.frm1.menu1.focus();
claerdisabled=false;

b1=['animal']
b2=['fruit'];
b3=['candy'];

 
function show(ar){
	if (ua=='Explorer'){
		document.getElementById(ar[0]).style.display='block';
	}else{
		document.getElementById(ar[0]).style.display='table-row';
	}
}

function hidde(ar){
	document.getElementById(ar[0]).style.display='none';
}

function setvaluecontact1(){
	claerdisabled=false;
	if (document.frm1.menu1.selectedIndex==1){
	 	show(b1);
		hidde(b2);
		hidde(b3);
		claerdisabled=true;
	}else if (document.frm1.menu1.selectedIndex==2){
	     hidde(b1); 
		 show(b2);
		 hidde(b3);
		 hidde(b4);
		claerdisabled=true; 
	}
	else if (document.frm1.menu1.selectedIndex==3){
	      hidde(b1); 
		  hidde(b2);
		 show(b3);
		claerdisabled=true; 
	}
	 
	initcontact_1();
}
function initcontact_1(){
	if(claerdisabled){
		document.frm1.add.disabled=false;
	}else{
		for(i=1;i<=4;i++){
			b='b'+i;
			b=eval(b);
			hidde(b);
		}
		document.frm1.add.disabled=true;
	}
}

initcontact_1();
Ответить с цитированием