Как записать значение radiobutton в переменную

peretc001

Новичок
Добрый день.

Есть две формы, radiobutton передается только в одну (дизайн не позволяет вставить в другую).
Как можно записать текущее значение radio в переменную, чтоб передать во вторую форму.

Я так понимаю что тут надо js привлекать. Я нашел скрипт, который определяет какой radio выбран, а как записать значение выбранного в php переменную $color чтоб потом передать в $_POST я не знаю, поможете?

PHP:
<input type="radio" name="color" value="Клен / Серый" onchange="check()" checked="checked"/>Клен / Серый
<input type="radio" name="color" value="Клен / Розовый" onchange="check()"/>Клен / Розовый
<input type="radio" name="color" value="Клен / Синий" onchange="check()"/>Клен / Синий
<input type="radio" name="color" value="Яблоня / Серый" onchange="check()"/>Яблоня / Серый

<script>
 function check(){
var rarr=document.getElementsByName("color");
if(rarr[0].checked){
alert('1')
 }
if(rarr[1].checked){
alert('2')
 }
if(rarr[2].checked){
alert('3')
 }
if(rarr[3].checked){
alert('4')
 }
 }
</script>
 

niko42

Новичок
Если динамически, то js
ибо используйте сессию, или тупо кидайте $_POST на другую форму $_POST['color'];
 

archcoffe

Новичок
в той форме которой дизайн не позволяет, создаете скрытое поле со значением радио-кнопки которая выбрана по умолчанию. В js при смене радио-кнопки перезаписывайте значение hidden поля.
PHP:
$( 'селектор hidden поля' ).val( $( 'селектор радиокнопки:checked').val() );

$( 'селектор радиокнопки' ).change(function() { 
    $( 'селектор hidden поля' ).val( $(this).val() ); 
});
 

peretc001

Новичок
Т.е. если у меня видимые поля
PHP:
<input type="radio" name="color" value="Клен/Серый" id="col" checked="checked"/>Клен / Серый
<input type="radio" name="color" value="Клен/Розовый" id="col"/>Клен / Розовый
<input type="radio" name="color" value="Клен/Синий" id="col"/>Клен / Синий
<input type="radio" name="color" value="Яблоня/Серый" id="col"/>Яблоня / Серый
а скрытые поля
PHP:
<input type="radio" name="color" value="Клен/Серый" id="col2" checked="checked"/>Клен / Серый
<input type="radio" name="color" value="Клен/Розовый" id="col2" />Клен / Розовый
<input type="radio" name="color" value="Клен/Синий" id="col2" />Клен / Синий
<input type="radio" name="color" value="Яблоня/Серый" id="col2" />Яблоня / Серый
Код
PHP:
<script>
								$( '#col2' ).val( $( '#col:checked').val() );
									$( '#col' ).change(function() { 
										$( '#col2' ).val( $(this).val() ); 
								});
								</script>
не работает
 

Hello

Новичок
peretc001
и скрытое поле
HTML:
<input type="hidden" name="color" id="col2">
 

archcoffe

Новичок
рекомндую подучить селекторы - есть очень много способов как можно добраться до интересующих мест.
Document_Object_Model

Слабенько вы попробовали, что ж поделать:
1. Особенность id в том, что в документе не может быть более одного элемента с данным конкретным id. Каждый id должен быть уникальным. В других случаях используйте атрибут class
2. Вы так и не использовали использовали скрытый input ( <input type="hidden" ... ) , он вам только один нужен для конкретного значения которое выберет пользователь. Кстати вот ему можете присвоить id т.е уникальное поле. Когда он будет, если name задали то в $_POST попадет.
3. Важно если не подключена всем известная Jquery то пахать не будет, без нее вызов нужно будет как у вас был через onchange="check" и в ней уже модернизировать document.getElementsByName("скрытоеполе").value = ... см. что то похожее
 

peretc001

Новичок
Работает, но записывает только тот цвет который по умолчанию checked
<input type="radio" name="color" value="Клен/Серый" id="col" checked="checked"/>Клен / Серый
 

peretc001

Новичок
решил так:

PHP:
<script>
								$('#col2').val($('form :radio[name=color]:checked').val());
									$('form :radio[name=color]').change(function() { 
										$('#col2').val($(this).val()); 
								});
								</script>
 
Сверху