Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 03.12.2013, 20:00
Профессор
Отправить личное сообщение для Batyabest Посмотреть профиль Найти все сообщения от Batyabest
 
Регистрация: 14.09.2013
Сообщений: 252

Получение данных из php в js
Добрый вечер.
Имеется форма заказа товара с подключением оплаты с помощью робокассы.
В данной форме скрытыми инпутами передаются ряд обязательных значений.
Как мне получить с помощью javascript значение итоговой стоимости товара и передать ее робокассе?
В форме я это значение заменил знаками вопросов.
Сумма должна считаться скриптом простым умнодением константы на количество. Ну и конечно же по мере выбора опций эта сумма должна динамически меняться в поле с id=total-price.


<div id="total-price"></div>
<form action="http://test.robokassa.ru/Index.aspx" method="get">
<input type="hidden" name="MrchLogin" value="...">
<input type="hidden" name="OutSum" value="?????">
<input type="hidden" name="InvId" value="0">
<input type="hidden" name="Desc" value="desc">
<input type="hidden" name="IncCurrLabel" value="WMRM">
<input type="hidden" name="Culture" value="ru">
<input type="hidden" name="Encoding" value="utf-8">
<input type="hidden" name="shpa" value="1">
<input type="hidden" name="shpb" value="test@test.ru">
<input type="hidden" name="SignatureValue" value="15758b3447ed1936cdbe5a6d4357584e">
<input type="text" name="quantity" value="1" size="5"><input type="submit" value="Заказать"><br>
<input type="checkbox" name="sborka"><span> Сборка специалистом интернет-магазина</span><br>
<p>Доставка</p>
<input type="radio" name="dostavka"><span> г. Нижний Новгород (нижняя часть города) в течение 5 дней</span><br>
<input type="radio" name="dostavka"><span> г. Нижний Новгород (верхняя часть города) в течение 5 дней</span><br>
<input type="radio" name="dostavka"><span> г. Нижний Новгород (верхняя и нижняя часть города) на следующий день после оформления</span><br>
<input type="radio" name="dostavka"><span> Нижегородская область до 30 км. в течение 5 дней</span><br>
<input type="radio" name="dostavka"><span> За пределеами Н.Новгорода от 30 км. (на круг) 12 руб./км 14 руб./км</span><br>
<input type="radio" name="dostavka"><span> Транспортной компанией</span><br>
<p>Подъем в квартиру</p>
<input type="radio" name="podyem"><span> Подъем стола-транформера в квартиру 100 руб./этаж на <input type="text" name="etazh" size="3"></span><br>
<input type="radio" name="podyem"><span> Подъем стола-транформера на лифте<br>
</form>
Ответить с цитированием
  #2 (permalink)  
Старый 03.12.2013, 20:13
Аватар для lord2kim
Профессор
Отправить личное сообщение для lord2kim Посмотреть профиль Найти все сообщения от lord2kim
 
Регистрация: 03.05.2011
Сообщений: 848

Batyabest,
<div id="total-price"></div>
<form action="http://test.robokassa.ru/Index.aspx" method="get" id="form_id">
<input type="hidden" name="MrchLogin" value="...">
<input type="hidden" name="OutSum" value="?????">
<input type="hidden" name="InvId" value="0">
<input type="hidden" name="Desc" value="desc">
<input type="hidden" name="IncCurrLabel" value="WMRM">
<input type="hidden" name="Culture" value="ru">
<input type="hidden" name="Encoding" value="utf-8">
<input type="hidden" name="shpa" value="1">
<input type="hidden" name="shpb" value="test@test.ru">
<input type="hidden" name="SignatureValue" value="15758b3447ed1936cdbe5a6d4357584e">
<input type="text" name="quantity" value="1" size="5"><input type="submit" value="Заказать"><br>
<input type="checkbox" name="sborka"><span> Сборка специалистом интернет-магазина</span><br>
<p>Доставка</p>
<input type="radio" name="dostavka"><span> г. Нижний Новгород (нижняя часть города) в течение 5 дней</span><br>
<input type="radio" name="dostavka"><span> г. Нижний Новгород (верхняя часть города) в течение 5 дней</span><br>
<input type="radio" name="dostavka"><span> г. Нижний Новгород (верхняя и нижняя часть города) на следующий день после оформления</span><br>
<input type="radio" name="dostavka"><span> Нижегородская область до 30 км. в течение 5 дней</span><br>
<input type="radio" name="dostavka"><span> За пределеами Н.Новгорода от 30 км. (на круг) 12 руб./км 14 руб./км</span><br>
<input type="radio" name="dostavka"><span> Транспортной компанией</span><br>
<p>Подъем в квартиру</p>
<input type="radio" name="podyem"><span> Подъем стола-транформера в квартиру 100 руб./этаж на <input type="text" name="etazh" size="3"></span><br>
<input type="radio" name="podyem"><span> Подъем стола-транформера на лифте<br>
</form>
<script>
// for example
var form = document.getElementById("form_id");
alert(form.children[1].value);
</script>

по клику на кнопке submit данные передадутся скрипту get-методом...
Ответить с цитированием
  #3 (permalink)  
Старый 03.12.2013, 20:33
Профессор
Отправить личное сообщение для Batyabest Посмотреть профиль Найти все сообщения от Batyabest
 
Регистрация: 14.09.2013
Сообщений: 252

А как скрипт передаст значение общей стоимости в робокассу?
оно передается в поле OutSum. Я заменил его пока вопросами потому что не знаю как оно должно передаваться дальше.
Ответить с цитированием
  #4 (permalink)  
Старый 03.12.2013, 20:43
Аватар для lord2kim
Профессор
Отправить личное сообщение для lord2kim Посмотреть профиль Найти все сообщения от lord2kim
 
Регистрация: 03.05.2011
Сообщений: 848

Сообщение от Batyabest Посмотреть сообщение
А как скрипт передаст значение общей стоимости в робокассу?
оно передается в поле OutSum. Я заменил его пока вопросами потому что не знаю как оно должно передаваться дальше.
получаете необходимые значения из полей, выполняете с ними необходимые действия, записываете в поля новые значения, вызываете метод .submit(); формы
по клику на кнопке submit (или при вызове метода формы .submit()) форма отправится на сервер (в вашем случае в скрипт робокассы) методом get
в файле робокассы вы должны отлавливать все передаваемые туда значения...
вроде в ASP передаваемые значения обрабатываются как
Код:
 <%= Request.QueryString("FirstName") %>
Ответить с цитированием
  #5 (permalink)  
Старый 03.12.2013, 20:50
Профессор
Отправить личное сообщение для Batyabest Посмотреть профиль Найти все сообщения от Batyabest
 
Регистрация: 14.09.2013
Сообщений: 252

Я не вижу разницы между тем что я написал в первом посте и вашим кодом.
Не могли бы мне для примера пару полей описать как положено.
P.S. и кнопки submit я не вижу. И как обрабатьвать поля и записывать новые значения?
Ответить с цитированием
  #6 (permalink)  
Старый 03.12.2013, 21:01
Аватар для lord2kim
Профессор
Отправить личное сообщение для lord2kim Посмотреть профиль Найти все сообщения от lord2kim
 
Регистрация: 03.05.2011
Сообщений: 848

Сообщение от Batyabest Посмотреть сообщение
Я не вижу разницы между тем что я написал в первом посте и вашим кодом.
Не могли бы мне для примера пару полей описать как положено.
P.S. и кнопки submit я не вижу. И как обрабатьвать поля и записывать новые значения?
13 строка в вашем коде - кнопка submit

var form = document.getElementById("form_id");
var val1 = parseInt(form.children[2]), val2 = parsetInt(form.children[7]);
form.children[1] = val1 * val2; // записываем в поле OutSum новое значение = перемножение значений InvId и shpa
form.submit(); // вызываем метод submit() нашей формы
Ответить с цитированием
  #7 (permalink)  
Старый 03.12.2013, 21:48
Профессор
Отправить личное сообщение для Batyabest Посмотреть профиль Найти все сообщения от Batyabest
 
Регистрация: 14.09.2013
Сообщений: 252

form.children
- Мы получаем значения дочерних элементов?
Нумерация начинается с 0?
А если количество берется из
<input type="text" name="quantity" value="1" size="5">
в зависимости от того, что ввел пользователь. Как тогда будет выглядеть код?
Ответить с цитированием
  #8 (permalink)  
Старый 03.12.2013, 21:55
Аватар для lord2kim
Профессор
Отправить личное сообщение для lord2kim Посмотреть профиль Найти все сообщения от lord2kim
 
Регистрация: 03.05.2011
Сообщений: 848

Сообщение от Batyabest Посмотреть сообщение
form.children
- Мы получаем значения дочерних элементов?
Нумерация начинается с 0?
А если количество берется из
<input type="text" name="quantity" value="1" size="5">
в зависимости от того, что ввел пользователь. Как тогда будет выглядеть код?
alert(document.getElementById("form_id").children[10].value);

c children будет работать только при статическом кол-ве элементов формы, лучше для каждого (в первую очередь необходимого) элемента ввести id и получать данные с помощью метода getElementById("id")...
если нужна инфа о radio-переключателях, то по ним нужно пробегаться циклом как то так
for (i=0; i < document.getElementsByName("dostavka").length; i++) {
alert(document.getElementsByName("dostavka")[i].value); // на данный момент у вас нету атрибутов value у radio-переключателей
}

Нумерация с 0.
Ответить с цитированием
  #9 (permalink)  
Старый 03.12.2013, 22:33
Профессор
Отправить личное сообщение для Batyabest Посмотреть профиль Найти все сообщения от Batyabest
 
Регистрация: 14.09.2013
Сообщений: 252

Нужно чтобы число, которое пользователь ввел в поле
<input type="text" name="quantity" value="1" size="5">
передавалось в скрипт для перемножения на некую цифру (пусть будет 5000) и уже полученное число передавалось в качестве значения
<input type="hidden" name="OutSum" value="">
в робокассу. Что касается радио, достаточно чтобы то что выбрал пользователь приходило на почту админу.
Ответить с цитированием
  #10 (permalink)  
Старый 03.12.2013, 23:18
Аватар для lord2kim
Профессор
Отправить личное сообщение для lord2kim Посмотреть профиль Найти все сообщения от lord2kim
 
Регистрация: 03.05.2011
Сообщений: 848

Batyabest, меняем ваш
<input type="submit" value="Заказать">

на
<input type="button" value="Заказать" onClick="func()">


function func() {
	document.getElementById("form_id").children[1].value = parseInt(document.getElementById("form_id").children[10].value) * 5000;
	document.getElementById("form_id").submit();
}
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Передача переменной из JS в PHP и обратно Gregorian Общие вопросы Javascript 5 11.09.2012 16:12
Как вывести содержимое PHP файла с помощью JS? pavdin Серверные языки и технологии 6 22.12.2010 14:16
Не получается передать переменную из JS в PHP Lion_astana AJAX и COMET 2 23.11.2010 17:23
Вызов PHP обработчика из JS Arfey Общие вопросы Javascript 15 07.06.2010 20:28
Дописать JS и PHP валидатор для телефона 3-3-4 conductor3 Работа 1 11.05.2010 00:01