2013-07-04 3 views
0

В форме мне нужно положить 2 значения для каждой строки отборного входа, как здесь:два или более значений в одном ряду переключателя Javascript

<select name="amount" id="txtAmount" class="sbox" style="width: 260px;"> 
<option value="34.00" kredit="3000">30.00 kreditov = 34.00 € (1.13 €/kredit)</option> 
<option value="19.75" kredit="1660">16.60 kreditov = 19.75 € (1.19 €/kredit)</option> 
<option value="48.00" kredit="5000">50.00 kreditov = 48.00 € (0.96 €/kredit)</option> 
</select> 

Теперь я хочу, чтобы получить значение Kredit с PHP:

echo 'kredit: '.$_REQUEST['???.kredit']'; 
echo 'amount: '.$_REQUEST['amount']'; 

Сумма работ, но кредит не работает.

Как я могу получить значение кредита в размере selectbox?

ответ

0

Вы не можете. name свойство select тег означает имя параметра запроса, а значение value из option. Сохраните значения kredit на вашем сервере.

+0

Кроме того, используя обнаженные значения '19.75' или' 1660' может быть опасно, так как запрос параметры могут быть легко подделаны. Вместо этого введите имя для каждого из них, например 'standard',' light', 'full', а затем найдите значения на сервере. –

0

Вы не можете отправить два значения через тег опции, поскольку атрибут value является единственным значением, которое будет отправлено.

С учетом этого вы можете даже не захотеть этого сделать. Из того, что я могу сказать, переменная $kredit хранит значение кредитоспособности пользователей. Это может быть легко изменено на стороне клиента и позволяет устанавливать дополнительный кредит.

Тем не менее, вы можете поместить оба значения в атрибут value с разделителем для разделения значений.

<option value="<?php echo $amount .'-' . $kredit; ?>">Display name</option> 

Это потребует от вас разделить их после публикации формы.

$values = explode('-', $_POST['amount']); 
echo $values[0]; // Amount 
echo $values[1]; // Kredit 

Другой вариант был бы Javascript событие, которое будет заполнить еще один скрытый элемент, когда пользователь выбирает нужный вариант.

+0

да, варианты взрыва приемлемы, хорошо, спасибо за ваш ответ. – user2549447

0

Как насчет добавления скрытого input поля с name='kredit '?

<input type='hidden' name='kredit' id='kredit'/> 

Скрытое поле кредитования будет отправлено на сервер.

var select = document.getElementById('txtAmount'); 
select.addEventListener('change', function(e) { 
    var kredit = this.options[this.selectedIndex].getAttribute('kredit'); 
    document.getElementById('kredit').value = kredit; 
    alert(document.getElementById('kredit').value); 
}); 

Это позволяет получить атрибут Kredit от выбранного варианта, используя:

$_REQUEST['kredit'] 

JSFiddle