Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 19.05.2012, 06:43
Новичок на форуме
Отправить личное сообщение для dmonco Посмотреть профиль Найти все сообщения от dmonco
 
Регистрация: 19.05.2012
Сообщений: 3

Что делаю не так? Javascript + Radio button + Input
При оформлении заказа в магазине на шаге выбора платежей имеется несколько radio button для выбора платежной системы. В зависимости от того, какая будет выбрана платежная система, будет добавляться её соответствующий код.
<input type="radio" name="virtuemart_paymentmethod_id" id="payment_id_3"   value="3" checked="checked">
<input type="radio" name="virtuemart_paymentmethod_id" id="payment_id_6"   value="6">
<input type="radio" name="virtuemart_paymentmethod_id" id="payment_id_7"   value="7">

Для проверки выбора radio button использую такой скрипт:
<script type="text/javascript">
var radios = document.getElementsByTagName('input');
var value;
for (var i = 0; i < radios.length; i++) {
    if (radios[i].type === 'radio' && radios[i].checked && radios[i].name === 'virtuemart_paymentmethod_id') {
        // alert(value = radios[i].value);
		if (value = radios[i].value==3)
		{
			//--></script>
<input type="hidden" name="jl_payment_methods" value="ACC" />
      <script type="text/javascript">
		}
		if (value = radios[i].value==6)
		{
			//--></script>
<input type="hidden" name="jl_payment_methods" value="VSA" />
      <script type="text/javascript">
	    if (value = radios[i].value==7)
		{
			//--></script>
<input type="hidden" name="jl_payment_methods" value="skrill" />
      <script type="text/javascript">
		}
		}
    }
}
</script>

Если убрать две последних проверки значения if 6 и 7, то сам кусок кода работает. Подскажите как исправить?
Ответить с цитированием
  #2 (permalink)  
Старый 19.05.2012, 09:23
Профессор
Отправить личное сообщение для bot87 Посмотреть профиль Найти все сообщения от bot87
 
Регистрация: 16.05.2011
Сообщений: 307

1.Плохой код.Невозможно читать.
2.Комментарий в скрипте не нужно употреблять
//--></script>. Ушли те браузерЫ ,для которых они были нужны.
3.Зачем тебе столько много тегов скрипт??Все в один(в твоем случае).
4.Проверка
radios[i].type === 'radio' && radios[i].checked && radios[i].name === 'virtuemart_paymentmethod_id'
Намудрил.Зачем тебе проверка на radios[i].type === 'radio' и name === 'virtuemart_paymentmethod_id'.Если можно выбрать одно.У тебя же не будет других полей кроме этих радио-кнопок с таким именем.
5.Использовать проверку if() можно и так:
if(){
if(){
if(){
}else{}
}else{
}
}else{}
или использовать оператор switch
__________________
Я только учусь.Ногами просьба не бить
Ответить с цитированием
  #3 (permalink)  
Старый 19.05.2012, 09:30
Аватар для bes
bes bes вне форума
Профессор
Отправить личное сообщение для bes Посмотреть профиль Найти все сообщения от bes
 
Регистрация: 22.03.2012
Сообщений: 3,744

<div id="myDiv">
  <input type="radio" name="payment"   value="ACC">
  <input type="radio" name="payment"   value="VSA">
  <input type="radio" name="payment"   value="skrill">
</div>

<script>
function payment(e) {
  var e = e || event;
  var target = event.target || event.srcElement;
  var value = target.value;

  switch (value) {
    case 'ACC': {alert('код ' + value); break}
    case 'VSA': {alert('код ' + value); break}
    case 'skrill': {alert('код ' + value)}
  }
}


myDiv.onclick = payment;
</script>
Ответить с цитированием
  #4 (permalink)  
Старый 19.05.2012, 16:22
Новичок на форуме
Отправить личное сообщение для dmonco Посмотреть профиль Найти все сообщения от dmonco
 
Регистрация: 19.05.2012
Сообщений: 3

Сообщение от bot87 Посмотреть сообщение
1.Плохой код.Невозможно читать.
2.Комментарий в скрипте не нужно употреблять
//--></script>. Ушли те браузерЫ ,для которых они были нужны.
3.Зачем тебе столько много тегов скрипт??Все в один(в твоем случае).
4.Проверка
radios[i].type === 'radio' && radios[i].checked && radios[i].name === 'virtuemart_paymentmethod_id'
Намудрил.Зачем тебе проверка на radios[i].type === 'radio' и name === 'virtuemart_paymentmethod_id'.Если можно выбрать одно.У тебя же не будет других полей кроме этих радио-кнопок с таким именем.
5.Использовать проверку if() можно и так:
if(){
if(){
if(){
}else{}
}else{
}
}else{}
или использовать оператор switch
А можно подробнее? Как будет выглядеть код целиком. Чё-то я опять намутил непонятно что.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Последние книги по JavaScript! monolithed Учебные материалы 7 26.10.2010 19:40
Баг Firefox: по F5 перескакивает radio при динамическом добавлении в DOM input Atoll Events/DOM/Window 6 22.06.2010 18:25
Помогите с radio button. Не стандартное решение dreckin Элементы интерфейса 15 01.05.2010 22:20
Как сделать так что бы ссылки мигали разными цветами? woo_hoo Общие вопросы Javascript 2 19.03.2010 11:28
Объясните мне что я делаю не так. Yanub Общие вопросы Javascript 10 24.08.2009 13:04