Очень нужна помощь с input и value
Ребята, прошу помощи!
Есть набор полей в коде платежа для html, вроде таких:
<input name="PurchaseDesc" type="text" required="" /> № Договора (цифрами)<br />
<input name="PurchaseAmt" type="number" value="0" min="0" max="20000" step="10" /> Сумма оплаты<br />
<input name="MerchantID" type="hidden" value=
"12345678910" />
<input name="CardholderName" type="hidden" value="Y" />
<input name="Email" type="hidden" value="Y" />
<input name="Phone" type="hidden" value="Y" />
И вот незадача! Нужно сделать еще два поля "Ext1" и "Ext2", которые будут по сути логом. У этих двух полей должна быть следующая структура:
<input name="Ext1" type="hidden"
value="merchant_id:12345678910,external_id:222222222,total:799.0,email: [email]user@domen.ru[/email],phone: 98882223322,sno:usn_income_outcome; payments_sum:799.0, payments_type:1"/>
<input name="Ext2" type="hidden" value="sum:799.0,tax:none,tax_sum:0.00,name:thing1,price:799.0,quantity:1.0"/>
То есть нужно в эти два поля через запятую проставить как переменные параметры из полей выше, типа Email, Phone и пр., так и константы типа налогов tax, tax_sum. Пытаюсь придумать что-то с CopyValueTo, но получается только вставлять какое-то одно из значений, а не множество. Также подчеркиваю, возможен только чистый html код без всяких php и пр. |
У вас названия полей в camel case, а в скрытые инпуты вы хотите видеть их уже в snake case.
Не лучше ли записывать в hidden input названия полей "как есть"? |
Чистый HTML такие задачи не решает, JS можно использовать?
|
j0hnik, если js не разрешен, то зачем вообще тогда писать на js форуме? )
function insertDataTo(name, data) {
document.querySelector('[name="' + name + '"]').value = Object.keys(data).reduce(function(res, key) {
return res.push(key + ':' + data[key]), res;
}, []).join(',');
};
insertDataTo('Ext1', {
merchant_id: 12345678910,
external_id: 222222222,
total: 799.0
});
|
Вроде да, js в каком-то простом варианте вроде проходит
|
| Часовой пояс GMT +3, время: 17:40. |