Настройка HTML формы Яндекс Кассы. Копирование элементов формы в ключ JSON

189
19 сентября 2019, 13:40

Копирование данных из нескольких полей формы в значения ключа JSON.

Как сделать так, чтобы в customerContact копировалось значение из поля E-mail и в {"amount": } копировалось значение из поля sum?

Пока работает только копирование значение в customerContact, благодаря этому ответу.

Не хватает возможности автоматического копирования в amount из sum.

Скрипт для копирования customerNumber в JSON customerContact:

    <script>
    $(function() {
      $(".customerNumber").on('input', function() {
        var data = JSON.parse($("#xxx").val());
        data.customerContact = $(this).val();
        $("#xxx").val(JSON.stringify(data));
      });
    });
    </script>

Скрипт копирования значений введенных пользователем в скрытые элементы input

        <script>
    function sync()
    {
      var n1 = document.getElementById('n1');
      var n2 = document.getElementById('n2');
      var n3 = document.getElementById('n3');
      n3.value = n2.value = n1.value;
    }
    </script>

Форма:

    <form action="https://money.yandex.ru/eshop.xml" method="post">
    <input required name="shopId" value="111111" type="hidden"/>
    <input required name="scid" value="11111" type="hidden"/>
    <input name="orderDetails" value="Название товара" type="text" readonly="readonly"/>
    <input required class="sum" name="sum" value="200" type="number" min="1" placeholder="Укажите сумму платежа"><br>
     <input type="email" class="customerNumber" required name="customerNumber" value="" size="64" placeholder="Ваш Email *" id="n1" onkeyup="sync()"/><br>
     <input type="text" required name="cps_phone" value="" size="64" placeholder="Номер телефона для связи *"/><br>
     <input type="text" name="custName" value="" size="64" placeholder="Ваше имя"/><br>
     <textarea name="custAddr" value="" rows="3" cols="64" wrap="soft" placeholder="Комментарий к заказу"></textarea>
     <input name="paymentType" value="" type="hidden"/>
     <input name="cps_email" value="" type="hidden" id="n2"/>
     <input name="custEmail" value="" type="hidden" id="n3"/>
     <input id="xxx" name="ym_merchant_receipt" value='{"customerContact": "customerNumber","taxSystem": 2, "items":[{"quantity": 1, "price": {"amount": 200.00},  "tax": 1,"text": "Название товара","paymentMethodType": "full_prepayment "}]}' type="hidden"/>
     <input type="submit" value="Оплатить"> 
     </form>

Заранее спасибо.

READ ALSO
Протаскивания ползунка в webdriver.io

Протаскивания ползунка в webdriver.io

Случай такой: значение input задается путем перемещения кастомного ползунка, который может находиться где угодноЕсть ли способ протаскивания...

255
Сложная форма (массив в массиве)

Сложная форма (массив в массиве)

Есть форма (https://jsfiddlenet/7zfjs6pw/26/) в которой можно добавлять поля

159
ERROR 1064 (42000) в простом SELECT

ERROR 1064 (42000) в простом SELECT

Не могу понять, что не так в первой строке запроса:

170
Выборка уникальных записей mysql без Group By

Выборка уникальных записей mysql без Group By

Всем привет! Помогите правильно составить запрос mysql, результатом которого должны быть уникальные записи таблицы books, но без использования...

155