Javascript.RU

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

Как в oninput получить значения select?
Здравствуйте.
Имеется форма, где через oninput, соответственно, вычисляется значения из инпутов и выводится в output. Но, есть одна проблема, когда выбрать из селекта одно из значений, соответственно, меняется значения в id='paketscount' , но это значения динамически не меняется при подсчете oninput. Подскажите, пожалуйста, можно как-то напрямую вытащить значение value из select и домножить его к (3.5 / 10), вместо paketscount.value ?

<form action="#" method="post" data-ajax="false" oninput="output.value = (3.5 / 10) *  paketscount.value ">
 
<select name="sitetime" id="sitetime" onchange="document.getElementById('paketscount').value=value;  with (this) document.getElementById ('rez').value=value =
             (selectedIndex) ? options [selectedIndex].text / 15 - 1 : '3'">

<option value="1" >60</option>
<option value="2" >90</option>
<option value="2" >120</option>
<option value="3" >150</option>
<option value="3" >180</option>
<option value="4" >210</option>
<option value="4" >240</option>
<option value="5" >270</option>
<option value="5" >300</option>
</select>

<div class="patets"><input style="width:50px!important; flaot:left;" type='text' id='paketscount' value="1" /></div>
		
<input id="rez" style="width:50px!important; flaot:left;" type='text'  value="3" />

<output name="output">1</output>
 </form>
Ответить с цитированием
  #2 (permalink)  
Старый 10.10.2014, 04:56
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

sitetime.value ?
Кстати, output - HTML5 элемент, со всеми вытекающими..
Можно на input[readonly] заменить. Ну или на div/span и менять innerHTML вместо value
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #3 (permalink)  
Старый 10.10.2014, 10:58
Интересующийся
Отправить личное сообщение для Jeick9 Посмотреть профиль Найти все сообщения от Jeick9
 
Регистрация: 08.10.2014
Сообщений: 23

sitetime.value не срабатывает
Добавил sitetime.value в oninput, output заменил на input, но но значения из селекта sitetime не вытягивается.
Ответить с цитированием
  #4 (permalink)  
Старый 10.10.2014, 11:13
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

<form action="#" method="post" data-ajax="false" onchange="output.value = (3.5 / 10) *  paketscount.value " oninput="onchange()">
  
<select name="sitetime" id="sitetime" onchange="document.getElementById('paketscount').value=value;  with (this) document.getElementById ('rez').value=value =
             (selectedIndex) ? options [selectedIndex].text / 15 - 1 : '3'">
 
<option value="1" >60</option>
<option value="2" >90</option>
<option value="2" >120</option>
<option value="3" >150</option>
<option value="3" >180</option>
<option value="4" >210</option>
<option value="4" >240</option>
<option value="5" >270</option>
<option value="5" >300</option>
</select>
 
<div class="patets"><input style="width:50px!important; flaot:left;" type='text' id='paketscount' value="1" /></div>
         
<input id="rez" style="width:50px!important; flaot:left;" type='text'  value="3" />
 
<output name="output">1</output>
 </form>
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #5 (permalink)  
Старый 10.10.2014, 11:32
Интересующийся
Отправить личное сообщение для Jeick9 Посмотреть профиль Найти все сообщения от Jeick9
 
Регистрация: 08.10.2014
Сообщений: 23

Спасибо за помощь, всё работает.
Осталось только по сабмиту передать значения из этих полей включая цену. Проблема в томб что динамических значений value в коде нет. Как их собственно передать?
Ответить с цитированием
  #6 (permalink)  
Старый 10.10.2014, 11:37
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от Jeick9
Как их собственно передать?
А вариант просто сабмитить форму не пойдет? В общем, в любом случае тут нет ничего особенного. Если нужно отправить аяксом - сериализуй поля формы, как обычно.
Ну и имей ввиду что цену можно изменять через консоль браузера.
Так что передавать ее можно только для ориентира.
Вобще, лучше пересчитывать на сервере по той же формуле.
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #7 (permalink)  
Старый 10.10.2014, 12:18
Интересующийся
Отправить личное сообщение для Jeick9 Посмотреть профиль Найти все сообщения от Jeick9
 
Регистрация: 08.10.2014
Сообщений: 23

Спасибо, действительно проще будет пересчитать на сервере.
Ответить с цитированием
  #8 (permalink)  
Старый 10.10.2014, 12:59
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Jeick9, не проще. Что может быть проще, чем получить $_POST['price'] ? Не проще, но надежнее (если эта надежность требуется)
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #9 (permalink)  
Старый 10.10.2014, 13:00
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Впиши в action реальный адрес обработчика, добавь кнопку submit и все будет работать. Учитывая твое data-ajax="false" - у тебя есть скрипт, отсылающий формы аяксом, но тебе это не нужно.
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #10 (permalink)  
Старый 11.10.2014, 19:18
Профессор
Отправить личное сообщение для kostyanet Посмотреть профиль Найти все сообщения от kostyanet
 
Регистрация: 23.10.2010
Сообщений: 2,719

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

flaot:left;

И работает?
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
изменение значения input при смене значения select galart jQuery 4 30.01.2015 18:39
Как получить список элементов в localStorage? Бобр Общие вопросы Javascript 8 17.09.2013 13:32
Как получить выбранные значения всех input:radio? Dimaz jQuery 4 05.12.2012 19:42
Как получить raw data с image? lyapharov Общие вопросы Javascript 2 06.04.2011 23:20
Получить значения доп. полей select-option arcanerain Общие вопросы Javascript 11 29.09.2010 02:02