27.12.2017, 03:47
|
Новичок на форуме
|
|
Регистрация: 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>
|
|
27.12.2017, 11:13
|
Профессор
|
|
Регистрация: 27.11.2015
Сообщений: 2,899
|
|
V.Zver,
А зачем вам скрытый инпут, дублирующий селект?
|
|
27.12.2017, 17:15
|
|
Профессор
|
|
Регистрация: 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";
};
|
|
27.12.2017, 18:59
|
Профессор
|
|
Регистрация: 27.11.2015
Сообщений: 2,899
|
|
j0hnik,
Хорошо, но зачем делать ненужные действия на клиенте, а потом и на сервере?
Учебная программа тоже должна иметь смысл.
|
|
28.12.2017, 00:15
|
Новичок на форуме
|
|
Регистрация: 27.12.2017
Сообщений: 3
|
|
Как то сложно вы говорите, сорян если что то не понимаю, плохо разбираюсь в js, если можно то подскажите как будет лучше, буду очень признателен. Возможно вы не совсем правильно поняли вопрос, если надо напишу более подробно)
|
|
28.12.2017, 09:07
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,989
|
|
Сообщение от V.Zver
|
Как то сложно вы говорите, сорян если что то не понимаю, плохо разбираюсь в js
|
А что сложного для понятия, к тому же конкретно к языку программирования имеющее отношение второстепенное? У вас списком определяется способ оплаты и сервер получит под ключом "paymentType" выбранный способ, либо "AC", либо "PC". Получив одно из этих значений сервер обязан проверить определена ли вообще такая оплата и если определена, то что это такое сервер прекрасно знает и без клиента. То есть слать серверу текст "Банковской картой"/"Яндекс.Деньгами" совсем не требуется, это никчемное занятие.
И это не потому, что так "будет лучше", а потому, что так следует делать. Если сервер этого делать не будет, а тем более в вопросах касающихся денег, то такой магазин/банк обмануть/подставить не составит труда.
Если касательно чисто как лучше, то лучше не оперировать значениями "AC"/"PC", человеку они не нужны, а машине проще цифры проверять.
|
|
28.12.2017, 10:20
|
Профессор
|
|
Регистрация: 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.
|
|
28.12.2017, 10:24
|
Профессор
|
|
Регистрация: 27.11.2015
Сообщений: 2,899
|
|
laimas,
Сообщение от laimas
|
Если касательно чисто как лучше, то лучше не оперировать значениями "AC"/"PC", человеку они не нужны, а машине проще цифры проверять.
|
Эти коды требует АПИ - обращение идет на сервер ЯндексДеньги
Последний раз редактировалось Dilettante_Pro, 28.12.2017 в 10:28.
|
|
28.12.2017, 11:10
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,989
|
|
Сообщение от Dilettante_Pro
|
обращение идет на сервер ЯндексДеньги
|
Да, я не посмотрел этого и подразумевал, что свое, а коли не знает, как пишет, то вряд ли и об индексах что-то знает, какие тогда PC/AC могут быть.
|
|
28.12.2017, 14:47
|
Новичок на форуме
|
|
Регистрация: 27.12.2017
Сообщений: 3
|
|
Вся проблема была в том что formcomment не может быть больше 200 символов, так как у меня больше яндекс деньги не проходили выдавало ошибку, по этому я хотел сделать что бы при выборе оплаты в formcomment был разный текст, для удобства клиента
|
|
|
|