Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Скрипт не хочет работать с радио переключателем! 
V
    Опции темы
jone31
Дата 17.1.2009, 10:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 343
Регистрация: 29.11.2008

Репутация: нет
Всего: нет



Вот пишу один небольшой скриптик, но он работает только с чекбоксами, а мне хотелось бы что б и радио переключателями тоже работает! 
Вот часть кода скрипта:
Код

<script LANGUAGE="JavaScript">
function calc(form) {
...
if (form.time.checked){
var time=parseFloat(form.time.value);
}
else time=0;

var total=......+time+......;
document.getElementById("total").innerHTML=total;
}
</SCRIPT>


На странице пишу:
Код

<table>......
<tr>
    <td>&nbsp;</td>
    <td align="left"><INPUT type="radio" name="time" value="1000">&nbsp;1 неделя</td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td align="left"><INPUT type="radio" name="time"  value="2000">
    &nbsp;2 недели</td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td align="left"><INPUT type="radio" name="time" value="3000">&nbsp;3 недели</td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td align="left"><INPUT type="radio" name="time" value="4000">&nbsp;4 недели</td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td align="left"><INPUT type="radio" name="time" value="5000">&nbsp;5 недель</td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td align="left"><INPUT type="radio" name="time" value="6000">&nbsp;6 недель</td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td align="left"><INPUT type="radio" name="time" value="7000">
    &nbsp;7 недель</td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td align="center"><b>Сумма:</b></td>
    <td ><div id="total">0</div></td>
  </tr>......
</table>



Как мне сделать чтоб он работал с радио переключателем???

Добавлено через 7 минут и 26 секунд
Я подозреваю что в коде скрипта нужно вместо checked, нужно написать что то другое! 

Это сообщение отредактировал(а) jone31 - 17.1.2009, 10:26
PM MAIL   Вверх
Elfebet
Дата 17.1.2009, 12:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 545
Регистрация: 15.5.2006
Где: Украина. Запорожь е.

Репутация: нет
Всего: 14



ты обращаешся к группе радиобутонов а не конкретно к одному
Код

form.time.checked

поэтому этот checked не сработает, если обращаться к конкретному радиобутону checked будет уместен
а что собсвтенно ты хочеш сделать? узнать значение не чекнутом радиобутоне ?
если да - то поставь по умолчанию checked на радиобутон (чтобы в любом случае был чекнутый) и
Код

form.time.value




--------------------
Программист не должен всё знать... он должен знать где можно посмотреть
PM MAIL ICQ GTalk   Вверх
jone31
Дата 17.1.2009, 13:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 343
Регистрация: 29.11.2008

Репутация: нет
Всего: нет



Я собираюсь сделать небольшой калькулятор, точнее я его уже сделал, но вот он берет значения только с чеков, а вот с группы радио бутонов не хочет!

Принцип такой: Пользователь кликнул на чек, скрипт по "name" этого чека берет его "value"  и прибавляет его к числу "total".  

А вот сделать такое же с радио бутоном неполучается! Без него никак наверно не обойтись! У меня на странице перед пользователем стоит выбор из нескольких пунктов, и наскока я знаю это можно сделать только с радио бутонов.

Добавлено через 2 минуты и 10 секунд
Мне тут пришла идейка, а можно ли сделать так что бы при активации одного чека из определенной группы, то остальные чеки из этой группы снимались???
PM MAIL   Вверх
Elfebet
Дата 17.1.2009, 17:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 545
Регистрация: 15.5.2006
Где: Украина. Запорожь е.

Репутация: нет
Всего: 14



Цитата(jone31 @ 17.1.2009,  13:33)
Мне тут пришла идейка, а можно ли сделать так что бы при активации одного чека из определенной группы, то остальные чеки из этой группы снимались???

это изващение smile

сорри в моем посте ошибка, вот пример рабочий с радио 
Код

<html>
<head>
<script LANGUAGE="JavaScript">

    function getValue() {
        
        var radioGroup = document.form1.time;
        for(var i=0; i < radioGroup.length; i++) {
            if(radioGroup[i].checked) {
                alert('Name = ' + radioGroup[i].name + ' Number = ' + i + ' ID = ' + radioGroup[i].id + ' Value = ' +  radioGroup[i].value);
                break;
            }
        }
    }

</script>
</head>
<body>

<form name="form1">
    <input type="radio" name="time" value="100" checked id="t1"><label id="t1">100</label><br>
    <input type="radio" name="time" value="200" id="t2"><label for="t2">200</label><br>
    <input type="radio" name="time" value="300" id="t3"><label for="t3">300</label><br>
    <input type="radio" name="time" value="400" id="t4"><label for="t4">400</label><br>
    <input type="button" value="click" onClick="getValue();">
</form>

</body>
</html>



Это сообщение отредактировал(а) Elfebet - 17.1.2009, 17:19


--------------------
Программист не должен всё знать... он должен знать где можно посмотреть
PM MAIL ICQ GTalk   Вверх
jone31
Дата 17.1.2009, 19:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 343
Регистрация: 29.11.2008

Репутация: нет
Всего: нет



Нет. Это не то что надо совсем! Я нарно вопрос не правильно поставил!

Вот выложил кусок кода на. Надеюсь так будет понятней. 

Мне надо сделать так что бы при выборе пользователем одной из радио бутонов value этого бутона прибавилась к основному числу!


Это сообщение отредактировал(а) jone31 - 18.1.2009, 09:21
PM MAIL   Вверх
jone31
Дата 18.1.2009, 17:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 343
Регистрация: 29.11.2008

Репутация: нет
Всего: нет



Люди??? Ау

PM MAIL   Вверх
Elfebet
Дата 19.1.2009, 10:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 545
Регистрация: 15.5.2006
Где: Украина. Запорожь е.

Репутация: нет
Всего: 14



я тебе привел пример как можно получить значение radio
а как прибавить число к освновному я думаю ты уже понял что нужно использовать onClick
как сделать в твоем случае вариантов много (можно поразному)  smile 


--------------------
Программист не должен всё знать... он должен знать где можно посмотреть
PM MAIL ICQ GTalk   Вверх
ksnk
Дата 19.1.2009, 11:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 84
Всего: 386



Цитата

Мне тут пришла идейка, а можно ли сделать так что бы при активации одного чека из определенной группы, то остальные чеки из этой группы снимались???

это изващение 

Ну, в обще-м то да. smile Хотя чекбокс в радиобатон превращается просто... Нужно в коде перераскомментировать radiobutton='checkbox';

Еще мысль - а зачем бегать по радиобаттонам и проверять чиканутость? Пусть они сами куда надо складывают свое значение...
Код

<table id="table">
<script>
radiobutton='radio';
//radiobutton='checkbox';

for(i=1;i<=6;i++){
document.write('<tr><td>&nbsp;</td>'+
    '<td align="left"><INPUT type="'+ radiobutton +'" name="time" value="'+(i*1000)+'">&nbsp;'+
    i+' недел'+(i==1?'я':i<5?'и':'ь')+
    '</td><td>&nbsp;</td></tr>')
}
</script>
<tr>
    <td>&nbsp;</td>
    <td align="center"><b>Сумма:</b></td>
    <td ><div id="total">0</div></td>
  </tr>
</table>
<script>
var tab=document.getElementById('table'),chb=tab.getElementsByTagName('input'),cbl=chb.length;
while(cbl--){
    if (radiobutton!='radio')
      chb[cbl].onmousedown=function(){
        var t=chb.length;
        while(t--){
          chb[t].checked=false;
        }
        document.getElementById('total').innerHTML='0';
      }
    chb[cbl].onclick=function(){
    if(this.checked)
        document.getElementById('total').innerHTML=this.value;
    }
}

</script>










--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
jone31
Дата 19.1.2009, 20:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 343
Регистрация: 29.11.2008

Репутация: нет
Всего: нет



Спасибо всем! Но вот вариант ksnk мне больше всех понравился! 


Тема закрыта!
PM MAIL   Вверх
jone31
Дата 20.1.2009, 16:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 343
Регистрация: 29.11.2008

Репутация: нет
Всего: нет



Мда... Вставил я тот скрипт, промучился с ним весь вечер, но так и не смог решить мою проблемму.
Скрипт это то что надо, но вот когда я подставляю его в мою таблицу с моим скриптом, то вся таблица "разваливается" и этот скрипт работает по принципу - или мой или этот, т.е. если я вставляю этот код в начало страницы, то мой скрипт уже неработает и таблица не "разваливается"; если вставляю в середину(там где он мне нужен) то таблица "разваливается", все что ДО этого кода работает(и сам тот код) а все что после этого скрипта не работает; Если ставлю в конец то работает только мой скрипт! 

Вчера весь вечерал его "ковырял" и ни чо не получилось! Чо делать незнаю! Подскажите, плиз!

Это сообщение отредактировал(а) jone31 - 20.1.2009, 16:29
PM MAIL   Вверх
ksnk
Дата 20.1.2009, 17:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 84
Всего: 386



Цитата

Чо делать незнаю! Подскажите, плиз!

Наверное, ждать телепатов?


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
Elfebet
Дата 20.1.2009, 18:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 545
Регистрация: 15.5.2006
Где: Украина. Запорожь е.

Репутация: нет
Всего: 14



код покажи вместе со скриптом и таблицей твоей


--------------------
Программист не должен всё знать... он должен знать где можно посмотреть
PM MAIL ICQ GTalk   Вверх
jone31
Дата 20.1.2009, 19:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 343
Регистрация: 29.11.2008

Репутация: нет
Всего: нет



Вот выложил тот скрипт!


Это сообщение отредактировал(а) jone31 - 20.1.2009, 21:43
PM MAIL   Вверх
ksnk
Дата 20.1.2009, 20:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 84
Всего: 386



Скрипт из середины текста выкинуть и поставить вот это в конец файла...
Код

<script> 
<!--
var tr=document.getElementById('table'),chb=tr.getElementsByTagName('input'),
    cbl=chb.length,radio_val={};

function recalc(){
    var i=0;
    for(a in radio_val)
       i+= radio_val[a];
    document.getElementById('total2').innerHTML=i;
}

while(cbl--){
    var tp=chb[cbl].type||'';
    if (tp=='radio' || tp=='checkbox')
        chb[cbl].onchange=function(){
            if(this.checked)
                radio_val[this.name]=parseInt(this.value);
            else 
                radio_val[this.name]=0;
            recalc();
        }
}
--> 
</script>



--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
jone31
Дата 20.1.2009, 21:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 343
Регистрация: 29.11.2008

Репутация: нет
Всего: нет



Ага. Все работает! Спасибо!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1176 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.