powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Radio переключатели
20 сообщений из 20, страница 1 из 1
Radio переключатели
    #36339898
AndViic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Люди помогите, пожалуйста реализовать...

Код: plaintext
1.
2.
3.
4.
5.
<label><input type="radio" name="Radio1" value="1" id="RadioGroup1_0" />Переключатель1</label>
<label><input type="radio" name="Radio1" value="2" id="RadioGroup1_1" />Переключатель2</label>	

<div id="D1"></div>
<div id="D2"></div>

1. Как сделать так, что бы при выборе первого радиопереключателя выводился первый div (D1), а при выборе второго выводился второй div (D2)? Причем автоматом, без кнопки submit.
2. С помощью куки запоминалось последнее положение.
3. Для тех кто впервые на сайте и куков еще нет - по умолчанию включен переключатель1

Хочу реализовать механизм выбора свернутой и развернутой ленты новостей. Файл в котором это делаю прикреплю на всякий случай, а в нем укажу нужные div-ы

Я, к сожалению в JavaScript и PHP несилен, а время поджимает. Буду очень благодарен))
...
Рейтинг: 0 / 0
Radio переключатели
    #36340495
Фотография Ex_Soft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AndViic
1. Как сделать так, что бы при выборе первого радиопереключателя выводился первый div (D1), а при выборе второго выводился второй div (D2)? Причем автоматом, без кнопки submit.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
function OnOff(obj)
{
	var
		DivOn,
		DivOff,
		Ctrl;
		
	switch(obj.id)
	{
		case "RadioGroup1_0" :
		{
			DivOn="D1";
			DivOff="D2";
			
			break;
		}
		case "RadioGroup1_1" :
		{
			DivOn="D2";
			DivOff="D1";
			
			break;
		}
	}
	
	if(Ctrl=document.getElementById(DivOn))
		Ctrl.style.display="block";
	if(Ctrl=document.getElementById(DivOff))
		Ctrl.style.display="none";
}
...
<label><input type="radio" name="Radio1" value="1" id="RadioGroup1_0" onclick="OnOff(this);" />Переключатель1</label>
<label><input type="radio" name="Radio1" value="2" id="RadioGroup1_1" onclick="OnOff(this);" />Переключатель2</label>	

<div id="D1"></div>
<div id="D2"></div>
AndViic
2. С помощью куки запоминалось последнее положение.
3. Для тех кто впервые на сайте и куков еще нет - по умолчанию включен переключатель1

тынць
...
Рейтинг: 0 / 0
Radio переключатели
    #36340713
AndViic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо большое! уже какой-то прогресс)) работает отлично, вот только когда на страницу заходишь отображаются оба дива. Только после нажатия на переключатель отображается тот див который нужен, в зависимости от нажатого переключателя)
...
Рейтинг: 0 / 0
Radio переключатели
    #36340758
Фотография Ex_Soft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AndViicвот только когда на страницу заходишь отображаются оба дива
/me думает:
— Вы, чего, и пальцы за меня загибать будете?
— Ага!
Код: plaintext
1.
<input type="radio" name="Radio1" value="2" id="RadioGroup1_1" onclick="OnOff(this);" style="display: none; " />
...
Рейтинг: 0 / 0
Radio переключатели
    #36340801
AndViic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ex_SoftAndViicвот только когда на страницу заходишь отображаются оба дива
/me думает:
— Вы, чего, и пальцы за меня загибать будете?
— Ага!
Код: plaintext
1.
<input type="radio" name="Radio1" value="2" id="RadioGroup1_1" onclick="OnOff(this);" style="display: none; " />


Переключатели, как раз и должны отображаться оба, а вот дивы только один, в зависимости от выбранного переключателя))
...
Рейтинг: 0 / 0
Radio переключатели
    #36340809
Фотография Ex_Soft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AndViicПереключатели, как раз и должны отображаться оба, а вот дивы только один, в зависимости от выбранного переключателя))
/me думает: "...я така затуркана, така затуркана..."
Конечно же
Код: plaintext
1.
<div id="D2" style="display: none; "></div>
I'm so sorry... Из protect mode переключался...
...
Рейтинг: 0 / 0
Radio переключатели
    #36340819
AndViic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ex_Soft, но спасибо за подсказку)) вставил style="display: none; во второй див, теперь то что надо)) Только без куки!!!
...
Рейтинг: 0 / 0
Radio переключатели
    #36340913
Фотография Ex_Soft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AndViicТолько без куки!!!
Во-первых: не орите
Во-вторых: вот Вам дрозофилка - разбирайтесь
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
<html>
	<head>
		<title>Test Cookies</title>
		<script type="text/javascript">
<!--
var
	CookieName="CookieName";

function Load()
{
	var
		CookieValue,
		Ctrl;

	if((CookieValue=ReadCookie(CookieName))
		&& (Ctrl=document.getElementById("InputText1")))
		Ctrl.value=CookieValue;
}

function Save()
{
	var
		Ctrl;

	if(Ctrl=document.getElementById("InputText1"))
		WriteCookie(CookieName,Ctrl.value);
}

function ReadCookie(aName)
{
	var
		AllCookies=document.cookie,
		pos,
		value=null;

	if(typeof(aName)!="string"
		|| !aName.length)
		return(value);

	aName+="=";
	if((pos=AllCookies.indexOf(aName))!=- 1 )
	{
		value=AllCookies.substring(pos+aName.length);
		if((pos=value.indexOf(";"))!=- 1 )
			value=value.substring( 0 ,pos);  
	}

	return(value);
}

function WriteCookie(aName, aValue)
{
	var
		NextYear=new Date();

	if(typeof(aName)!="string"
		|| !aName.length
		|| typeof(aValue)!="string"
		|| !aValue.length)
		return;

	aName+="=";
	NextYear.setFullYear(NextYear.getFullYear()+ 1 );
	document.cookie=aName+aValue+";expires="+NextYear.toGMTString()+";path=/";
}
// -->
		</script>
	</head>
	<body onload="Load()">
		<input type="text" id="InputText1"><input type="button" id="InputButtonSave" value="Save" onclick="Save()"><input type="button" id="InputButtonLoad" value="Load" onclick="Load()">
	</body>
</html>
...
Рейтинг: 0 / 0
Radio переключатели
    #36340932
AndViic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ex_Soft, Вы очень любезны) Сегодня вечером попробую разобраться, спасибо!
...
Рейтинг: 0 / 0
Radio переключатели
    #36340951
Фотография Ex_Soft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AndViic
Вы очень любезны

/me думает: сам не знаю, что на меня нашло...

_________________
"Helo, word!" - 17 errors 56 warnings
...
Рейтинг: 0 / 0
Radio переключатели
    #36341053
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
офф
У него такое бывает :).
...
Рейтинг: 0 / 0
Radio переключатели
    #36344659
AndViic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вроде должно быть как-то так:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
<script>  
    function OnOff(obj)
{
	var
		DivOn,
		DivOff,
		Ctrl;
		
	switch(obj.id)
	{
		case "RadioGroup1_0" :
		{
			DivOn="D1";
			DivOff="D2";
			
			break;
		}
		case "RadioGroup1_1" :
		{
			DivOn="D2";
			DivOff="D1";
			
			break;
		}
	}
	
	if(Ctrl=document.getElementById(DivOn))
		Ctrl.style.display="block";
	if(Ctrl=document.getElementById(DivOff))
		Ctrl.style.display="none";
}

function setCookie( name, value, expires, path, domain, secure ) {
    var today = new Date();
    today.setTime( today.getTime() );
    if ( expires ) {
        expires = expires *  1000  *  60  *  60  *  24 ;
    }
    var expires_date = new Date( today.getTime() + (expires) );
    document.cookie = name+'='+escape( value ) +
        ( ( expires ) ? ';expires='+expires_date.toGMTString() : '' ) + //expires.toGMTString()
        ( ( path ) ? ';path=' + path : '' ) +
        ( ( domain ) ? ';domain=' + domain : '' ) +
        ( ( secure ) ? ';secure' : '' );
}

function getCookie( name ) {
    var start = document.cookie.indexOf( name + "=" );
    var len = start + name.length +  1 ;
    if ( ( !start ) && ( name != document.cookie.substring(  0 , name.length ) ) ) {
        return null;
    }
    if ( start == - 1  ) return null;
    var end = document.cookie.indexOf( ';', len );
    if ( end == - 1  ) end = document.cookie.length;
    return unescape( document.cookie.substring( len, end ) );
}
 </script>  

<label><input type="radio" name="Radio1" value="1" id="RadioGroup1_0" onclick="OnOff(this);" />Переключатель1</label>
<label><input type="radio" name="Radio1" value="2" id="RadioGroup1_1" onclick="OnOff(this);" />Переключатель2</label>	

<div id="D1"></div>
<div id="D2" style="display: none></div>

Подскажите, пожалуйста, как сделать так чтобы на время сессии переключатель сохранял свое последнее положение?

Как связать все это?

как сделать, чтобы во время установки нового значения переключателя(например по событию onclick соответствующего элемента) выставить новое значение куки при помощи упомянутой выше функции
при загрузке же страницы, выставить соответствующему radio свойство checked в true, получив установленное раннее значение из кук
...
Рейтинг: 0 / 0
Radio переключатели
    #36621165
DeathHand
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день =)

Постигаю АЗ жабаскрипт, есть такая же задача, но ИЕ на отрез отказывается приатачивать ивент к радио... т.е. както так если пишу:

Код: plaintext
1.
2.
3.
4.
<input type=RADIO name="rep_mode" id="rep_mode1" VALUE = "extended" CHECKED onclick="selection()">
<div id="option1" style = "display:block"></div>
<input type=RADIO name="rep_mode" id="rep_mode2" VALUE = "short" onclick="selection()">
<div id="option2" style = "display:block"></div>


и далее чтото такое:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
<script>
  function selection(){
  
   if (document.all.rep_mode[ 0 ].checked == true){
      document.all.option1.style.display = "block";
      document.all.option2.style.display = "none";}
   
   if (document.all.rep_mode[ 1 ].checked == true){
      document.all.option1.style.display = "none";
      document.all.option2.style.display = "block";}
   }
  
  </script>

в мазилле воркс, ие - "Команда не поддерживается объектом" дивы не открываются, все плохо, что делать не известно=)

как бы устранить глюк?)
...
Рейтинг: 0 / 0
Radio переключатели
    #36621199
EmilRegis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
получайте элементы с помощью document.getElementById
...
Рейтинг: 0 / 0
Radio переключатели
    #36621239
DeathHand
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EmilRegis,

попробовал...
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
<script>
  function selection(){
  
   if (document.getElementById("rep_mode1").checked == true){
      document.all.option1.style.display = "block";
      document.all.option2.style.display = "none";}
   
   if (document.getElementById("rep_mode2").checked == true){
      document.all.option1.style.display = "none";
      document.all.option2.style.display = "block";}
   }
  
  </script>

тоже самое.
...
Рейтинг: 0 / 0
Radio переключатели
    #36621266
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
<script>
  function selection(){
  
   if (document.getElementById("rep_mode1").checked == true){
      document.getElementById("option1").style.display = "block";
      document.getElementById("option2").style.display = "none";}
   
   if (document.getElementById("rep_mode2").checked == true){
      document.getElementById("option1").style.display = "none";
      document.getElementById("option2").style.display = "block";}
   }
  
</script>

Или делай полный тестовый пример для проверки...
...
Рейтинг: 0 / 0
Radio переключатели
    #36621283
DeathHand
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
krvsa,

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
<html>
  <head>
  <title></title>
  </head>
  <body>
   <form name = "s_rep">
  
  <p><input type=RADIO name="rep_mode" id="rep_mode1" VALUE = "extended" CHECKED onclick = "selection()"> Отчет по выбранной комнате</p>
    
    
   <div id="option1" style = "display:block"><p>Комната: <select style="width:300">
            <option>Пункт  1 </option>
            <option>Пункт  2 </option>
            <option>Пункт  3 </option>
        </select></p>
   <p>Дата брони с <input type="text" value = "01.01.2010"> по <input type="text" value = "01.01.2010"></p></div>
   
   
   <p><input type=RADIO name="rep_mode" id="rep_mode2" VALUE = "short" onclick = "selection()"> Отчет по всем комнатам</p>
      <div id = "option2" style = "display:none">
      <p>Дата брони с <input type="text" value = "31.12.2010"> по <input type="text" value = "01.01.2010"></p></div>
      </div>
  
   
  
  <script>
  function selection(){
  
   if (document.getElementById("rep_mode1").checked == true){
      document.all.option1.style.display = "block";
      document.all.option2.style.display = "none";}
   
   if (document.getElementById("rep_mode2").checked == true){
      document.all.option1.style.display = "none";
      document.all.option2.style.display = "block";}
   }
  
  </script>
      
  </form>
   
  </body>
</html>
...
Рейтинг: 0 / 0
Radio переключатели
    #36621567
DeathHand
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
как то так. в мозилле на ура, в ИЕ - мат.
...
Рейтинг: 0 / 0
Radio переключатели
    #36621891
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DeathHandв ИЕ - мат.
А ларчик просто открывался... (с)

Измени название у функции. Не selection(), а например sel() и будет тебе счастие.
...
Рейтинг: 0 / 0
Radio переключатели
    #36622379
DeathHand
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
krvsa,

Работает... Спасибо=)
...
Рейтинг: 0 / 0
20 сообщений из 20, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Radio переключатели
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]