Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 12.02.2016, 22:46
Интересующийся
Отправить личное сообщение для Enkille Посмотреть профиль Найти все сообщения от Enkille
 
Регистрация: 09.11.2015
Сообщений: 19

Как получать значения инпутов?
Я начинающий, ознакомился с основами JS, читать можно бесконечно, поэтому решил начать практиковаться, но появились вопросы. А именно: я решил сделать небольшой калькулятор цен. При клике на input нужно возвращать его value.

Проблема в том, что мой код возвращает в priceValue значение 1-го input, и по клику на 2-й никак не реагирует (не возвращает новое значение). Как это правильно делается? Сижу уже 2-й день и не понимаю с какой стороны подойти.

<label><input class="price1" type="radio" name="price" value="3000">Шашечки (3000 руб)</label>
<label><input class="price1" type="radio" name="price" value="2000">Ехать (2000 руб)</label>
<div id="result"><div>

Сам код:
function doCalc(event) {
    event = event || window.event;
    var priceValue = document.querySelector(".price1").value;
    
    return document.getElementById("result").innerHTML = "<p>"+ priceValue +"</p>";
  }
  document.addEventListener("click", doCalc, false);


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

Спасибо за помощь!

Последний раз редактировалось Enkille, 12.02.2016 в 22:49.
Ответить с цитированием
  #2 (permalink)  
Старый 12.02.2016, 23:01
Аватар для destus
Профессор
Отправить личное сообщение для destus Посмотреть профиль Найти все сообщения от destus
 
Регистрация: 18.05.2011
Сообщений: 1,207

Почему вы вызываете метод addEventListener для обьекта document?
Ответить с цитированием
  #3 (permalink)  
Старый 12.02.2016, 23:04
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,072

Enkille,
priceValue = event.target.value;
конечно надо проверить есть ли нужный класс у event.target -- может и нет никакого value и будет ошибка
Ответить с цитированием
  #4 (permalink)  
Старый 13.02.2016, 00:17
Интересующийся
Отправить личное сообщение для Enkille Посмотреть профиль Найти все сообщения от Enkille
 
Регистрация: 09.11.2015
Сообщений: 19

Сообщение от рони Посмотреть сообщение
Enkille,
priceValue = event.target.value;
конечно надо проверить есть ли нужный класс у event.target -- может и нет никакого value и будет ошибка
Ура, заработало, спасибо! Я подозревал что не хватало чего-то именно здесь. Я добавил это здесь:
var priceValue = document.querySelector(".price1").value;
priceValue = event.target.value;

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

Цитата:
Почему вы вызываете метод addEventListener для обьекта document?
Вы хотите сказать что документ надо заменить на что-то другое?
Ответить с цитированием
  #5 (permalink)  
Старый 13.02.2016, 00:30
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,072

Сообщение от Enkille
Я добавил это здесь:
заменить надо было
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как удалить повторяющиеся значения с массива? Валерий1996 Общие вопросы Javascript 23 15.09.2015 16:11
Как мне достучаться до значения объекта в массиве lawer85 Общие вопросы Javascript 4 14.02.2015 21:12
Как вы относитесь к наркоманам? Maxmaxmaximus7 Оффтопик 7 05.02.2014 13:29
как поменять местами значения в строке javascript? vladimir7517 Общие вопросы Javascript 9 11.10.2013 20:46
Управление скроллом "а-ля тач" HonesT Элементы интерфейса 2 27.08.2013 14:25