Динамика в форме...

Статус
Закрыто для дальнейших ответов.

Enso

Well-Known Member
Регистрация
07.08.2007
Сообщения
103
Подскажите, плиз, как изменять поля в форме в зависимости от того какое значение выбрано в поле до этого?
В общем проблема в следующем - в форме есть два селекта, в первом два варианта и нужно, чтоб содержание следующего менялось в зависимости от того какой вариант выбран в первом селекте.

И ещё одна маленькая проблемка, когда в первом селекте выбирается второй вариант, то последующее поле должно стать полем с заранее введённым значением, которое нельзя изменить.
 

RoamingFire

Well-Known Member
Регистрация
04.01.2008
Сообщения
145
Код:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<HTML>
  <HEAD>
	<TITLE>SELECT</TITLE>
	<script type = "text/javascript">
	  window.onload = function()
	  {
		var forma = document.getElementById('myform');
		forma.myselect.onchange = function()
		{
		  if (forma.myselect.value == "o1")
		  {
			forma.myselect2.innerHTML = '<OPTION value = "oo1">Новая опция</OPTION>';
		  }
		  if (forma.myselect.value == "o2")
		  {
			forma.myselect2.innerHTML = '<OPTION value = "oo2">Другая новая опция!</OTPION>';
		  }
		}
	  }
	</SCRIPT>
  </HEAD>
  <BODY>
	<FORM id = "myform" action = "index.php" method = "POST">
	  <SELECT name = "myselect">
		<OPTION value = "o1">Опция 1</OPTION>
		<OPTION value = "o2">Опция 2</OPTION>
	  </SELECT>
	  <SELECT name = "myselect2">
	  
	  </SELECT>
	</FORM>
  </BODY>
</HTML>
На следующий вопрос поже отвечу :) в школу опаздываю
 

RoamingFire

Well-Known Member
Регистрация
04.01.2008
Сообщения
145
И ещё одна маленькая проблемка, когда в первом селекте выбирается второй вариант, то последующее поле должно стать полем с заранее введённым значением, которое нельзя изменить.
Не много не понял, ты имеешь ввиду, когда выбирается в первом селекте второе значение, то во втором селекте автоматом выбирается еще одно значение, и он становится заблокированным? Правильно понял?
 

Enso

Well-Known Member
Регистрация
07.08.2007
Сообщения
103
Всё правильно понял...
 

RoamingFire

Well-Known Member
Регистрация
04.01.2008
Сообщения
145
Код:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<HTML>
  <HEAD>
	<TITLE>SELECT</TITLE>
	<script type = "text/javascript">
	  window.onload = function()
	  {
		var forma = document.getElementById('myform');
		forma.myselect.onchange = function()
		{
		  if (forma.myselect.value == "o1")
		  {
			forma.myselect2.innerHTML = '<OPTION value = "oo1">Новая опция</OPTION>';
		  }
		  if (forma.myselect.value == "o2")
		  {
			forma.myselect2.innerHTML = '<OPTION value = "oo2">Другая новая опция!</OTPION>';
			forma.myselect2.innerHTML += '<OPTION value = "oo3">Еще одна опция, которая выбрана по умолчанию</OPTION>';
			forma.myselect2.value = "oo3"; 
			forma.myselect2.disabled = true;		   
		  }
		}
	  }
	</SCRIPT>
  </HEAD>
  <BODY>
	<FORM id = "myform" action = "index.php" method = "POST">
	  <SELECT name = "myselect">
		<OPTION value = "o1">Опция 1</OPTION>
		<OPTION value = "o2">Опция 2</OPTION>
	  </SELECT>
	  <SELECT name = "myselect2">
	  
	  </SELECT>
	</FORM>
  </BODY>
</HTML>
Воть :)
 

Enso

Well-Known Member
Регистрация
07.08.2007
Сообщения
103
Я тут кстати потестил... Если выбрать второй пункт в первом селекте, то второй селект блокируется даже если в первом селекте вернуться к первому пункту...
 

RoamingFire

Well-Known Member
Регистрация
04.01.2008
Сообщения
145
Сам только что про это хотел написать, вот исправил:
Код:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<HTML>
  <HEAD>
	<TITLE>SELECT</TITLE>
	<script type = "text/javascript">
	  window.onload = function()
	  {
		var forma = document.getElementById('myform');
		forma.myselect.onchange = function()
		{
		  if (forma.myselect.value == "o1")
		  {
			forma.myselect2.innerHTML = '<OPTION value = "oo1">Новая опция</OPTION>';
			forma.myselect2.disabled = false; 
		  }
		  if (forma.myselect.value == "o2")
		  {
			forma.myselect2.innerHTML = '<OPTION value = "oo2">Другая новая опция!</OTPION>';
			forma.myselect2.innerHTML += '<OPTION value = "oo3">Еще одна опция, которая выбрана по умолчанию</OPTION>';
			forma.myselect2.value = "oo3"; 
			forma.myselect2.disabled = true;		   
		  }
		}
	  }
	</SCRIPT>
  </HEAD>
  <BODY>
	<FORM id = "myform" action = "index.php" method = "POST">
	  <SELECT name = "myselect">
		<OPTION value = "o1">Опция 1</OPTION>
		<OPTION value = "o2">Опция 2</OPTION>
	  </SELECT>
	  <SELECT name = "myselect2">
	  
	  </SELECT>
	</FORM>
  </BODY>
</HTML>
 

Enso

Well-Known Member
Регистрация
07.08.2007
Сообщения
103
Замучал, наверное... :biggrin:
 
Статус
Закрыто для дальнейших ответов.
Верх Низ