Javascript.RU

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

Меняется value в зависимости от выбора
Есть yandex форма для оплаты.
Пытаюсь сделать так что бы менялся (name="formcomment" value="Имя платежа") в зависимости от выбранного варианта (Банковской картой или Яндекс.Деньгами)

Допустим человек выбрал оплату Банковской картой, теперь value="Текст1" аналогично с Яндекс.Деньгами value="Текст2".

<form id="request_form" action="https://money.yandex.ru/quickpay/confirm.xml" method="POST" data-form="request" data-type="jsonp" onsubmit="" class="direct request-form js-request-form">
        <input type="hidden" name="quickpay-form" value="small">
        <input type="hidden" name="formcomment" value="Имя платежа">    
        <input type="hidden" name="targets" value="Demo_pay">  
        <input type="hidden" name="sum" value="10" data-type="number">  

         <select name="paymentType" style="width: 100%;">
            <option value="AC">Банковской картой</option>
            <option value="PC">Яндекс.Деньгами</option>
        </select>
     </form>
Ответить с цитированием
  #2 (permalink)  
Старый 27.12.2017, 11:13
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

V.Zver,
А зачем вам скрытый инпут, дублирующий селект?
Ответить с цитированием
  #3 (permalink)  
Старый 27.12.2017, 17:15
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

Сообщение от Dilettante_Pro Посмотреть сообщение
V.Zver,
А зачем вам скрытый инпут, дублирующий селект?
надпись на табличке "Новичок на форуме"

document.querySelector('select[name="paymentType"]').onchange=function(){
		document.querySelector('input[name="formcomment"]').value = this.selectedIndex==0?"текст1":"текст2";
	};
Ответить с цитированием
  #4 (permalink)  
Старый 27.12.2017, 18:59
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

j0hnik,
Хорошо, но зачем делать ненужные действия на клиенте, а потом и на сервере?
Учебная программа тоже должна иметь смысл.
Ответить с цитированием
  #5 (permalink)  
Старый 28.12.2017, 00:15
Новичок на форуме
Отправить личное сообщение для V.Zver Посмотреть профиль Найти все сообщения от V.Zver
 
Регистрация: 27.12.2017
Сообщений: 3

Как то сложно вы говорите, сорян если что то не понимаю, плохо разбираюсь в js, если можно то подскажите как будет лучше, буду очень признателен. Возможно вы не совсем правильно поняли вопрос, если надо напишу более подробно)
Ответить с цитированием
  #6 (permalink)  
Старый 28.12.2017, 09:07
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Сообщение от V.Zver
Как то сложно вы говорите, сорян если что то не понимаю, плохо разбираюсь в js
А что сложного для понятия, к тому же конкретно к языку программирования имеющее отношение второстепенное? У вас списком определяется способ оплаты и сервер получит под ключом "paymentType" выбранный способ, либо "AC", либо "PC". Получив одно из этих значений сервер обязан проверить определена ли вообще такая оплата и если определена, то что это такое сервер прекрасно знает и без клиента. То есть слать серверу текст "Банковской картой"/"Яндекс.Деньгами" совсем не требуется, это никчемное занятие.

И это не потому, что так "будет лучше", а потому, что так следует делать. Если сервер этого делать не будет, а тем более в вопросах касающихся денег, то такой магазин/банк обмануть/подставить не составит труда.

Если касательно чисто как лучше, то лучше не оперировать значениями "AC"/"PC", человеку они не нужны, а машине проще цифры проверять.
Ответить с цитированием
  #7 (permalink)  
Старый 28.12.2017, 10:20
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

Вот цитата из АПИ ЯндексДеньги:
Цитата:
Обязательные параметры
receiver string Номер кошелька в Яндекс.Деньгах, на который нужно зачислять деньги отправителей.
quickpay-form string Возможные значения:
shop — для универсальной формы;
small — для кнопки;
donate — для «благотворительной» формы.
targets До 150 символов Назначение платежа.
paymentType string Способ оплаты. Возможные значения:
PC — оплата из кошелька в Яндекс.Деньгах;
AC — с банковской карты;
MC — с баланса мобильного.
sum CurrencyAmount Сумма перевода (спишется с отправителя).

Необязательные параметры
formcomment
string

До 50 символов

Название перевода в истории отправителя (для переводов из кошелька или с привязанной карты). Отображается в кошельке отправителя.

Удобнее всего формировать его из названий магазина и товара. Например: Мой магазин: валенки белые
Так что тип платежа определяется кодами, а в комментарии можно писать что-то другое, конкретизирующее содержание, а не форму платежа.
Или вы просто хотите для себя проверить тип платежа?

Последний раз редактировалось Dilettante_Pro, 28.12.2017 в 10:26.
Ответить с цитированием
  #8 (permalink)  
Старый 28.12.2017, 10:24
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

laimas,
Сообщение от laimas
Если касательно чисто как лучше, то лучше не оперировать значениями "AC"/"PC", человеку они не нужны, а машине проще цифры проверять.
Эти коды требует АПИ - обращение идет на сервер ЯндексДеньги

Последний раз редактировалось Dilettante_Pro, 28.12.2017 в 10:28.
Ответить с цитированием
  #9 (permalink)  
Старый 28.12.2017, 11:10
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Сообщение от Dilettante_Pro
обращение идет на сервер ЯндексДеньги
Да, я не посмотрел этого и подразумевал, что свое, а коли не знает, как пишет, то вряд ли и об индексах что-то знает, какие тогда PC/AC могут быть.
Ответить с цитированием
  #10 (permalink)  
Старый 28.12.2017, 14:47
Новичок на форуме
Отправить личное сообщение для V.Zver Посмотреть профиль Найти все сообщения от V.Zver
 
Регистрация: 27.12.2017
Сообщений: 3

Вся проблема была в том что formcomment не может быть больше 200 символов, так как у меня больше яндекс деньги не проходили выдавало ошибку, по этому я хотел сделать что бы при выборе оплаты в formcomment был разный текст, для удобства клиента
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Динамическое отображение контента на 2ой странице, в зависимости от выбора на 1ой Volchen0ck Events/DOM/Window 2 14.05.2014 16:01
html код в зависимости от выбора radio Findail Общие вопросы Javascript 6 30.03.2013 12:53
В зависимости от локального времени меняется задний фон Tchort Events/DOM/Window 3 09.08.2011 18:21
Усовершенствование скрипта доступности поля в зависимости от выбора в списке. neonlight Общие вопросы Javascript 3 10.07.2011 10:05
Открытие окна в зависимости от выбора в <option> partyzan Общие вопросы Javascript 0 10.04.2008 01:00