Здравствуйте. Как сделать так, чтобы в customerContact копировалось значение из поля E-mail?
<form class="form1" action="
https://money.yandex.ru/eshop.xml
" method="post">
<input required name="shopId" value="00000" type="hidden"/>
<input required name="scid" value="00000" type="hidden"/>
<input type='hidden' required name="sum" value="1799" >
<input class="name" type='text' name="customerNumber" placeholder="Ф.И.О" size="64"/>
<input class="emeil" type="email" placeholder="E-mail" name="custEmail" size="64"/>
<input name="ym_merchant_receipt" value='{"customerContact": "+79250000000","taxSystem": 2,"items": [{"quantity": 1,"price": {"amount": 1799.00},"tax": 1,"text": "Яблоки"}]}' type="hidden"/>
</form>
Заранее спасибо
если добавить id="xxx"
(иначе обращаться как $("input[name=....])
) к искомому полю, то как то так?
зы: в class="emeil"
тоже опечатка была
$(".email").keyup(function(){
var data = JSON.parse($("#xxx").val());
data.customerContact = $(this).val();
$("#xxx").val(JSON.stringify(data));
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form class="form1" action="
https://money.yandex.ru/eshop.xml
" method="post">
<input required name="shopId" value="00000" type="hidden"/>
<input required name="scid" value="00000" type="hidden"/>
<input type='hidden' required name="sum" value="1799" >
<input class="name" type='text' name="customerNumber" placeholder="Ф.И.О" size="64"/>
<input class="email" type="email" placeholder="E-mail" name="custEmail" size="64"/>
<input id="xxx" name="ym_merchant_receipt" value='{"customerContact": "+79250000000","taxSystem": 2,"items": [{"quantity": 1,"price": {"amount": 1799.00},"tax": 1,"text": "Яблоки"}]}' type="hidden"/>
</form>
Добавляем обработчик события change
на поле email
, И там при каждом изменении значения поля взял значение скрытого поля, преобразовал в object
, Изменил значения свойства customerContact
в объекте, и в конце с ново преобразовал объект в строку и поменял значение скрытого поля.
$(document).ready(function(){
$('.custEmail').on('change',function(){
var obj = JSON.parse($('.ym_merchant_receipt').val());
obj.customerContact = $(this).val();
$('.ym_merchant_receipt').val(JSON.stringify(obj));
console.log($('.ym_merchant_receipt').val());
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form class="form1" action="
https://money.yandex.ru/eshop.xml
" method="post">
<input required name="shopId" value="00000" type="hidden"/>
<input required name="scid" value="00000" type="hidden"/>
<input type='hidden' required name="sum" value="1799" >
<input class="name" type='text' name="customerNumber" placeholder="Ф.И.О" size="64"/>
<input class="emeil" type="email" placeholder="E-mail" name="custEmail" size="64"/>
<input name="ym_merchant_receipt" value='{"customerContact": "+79250000000","taxSystem": 2,"items": [{"quantity": 1,"price": {"amount": 1799.00},"tax": 1,"text": "Яблоки"}]}' type="hidden"/>
</form>
Виртуальный выделенный сервер (VDS) становится отличным выбором
Для начала у вас в самом цикле опечатка в length и i+2 вместо i+=2Динамические ключи заключайте в квадратные скобки
По какому принципу оно вообще строится, и как это можно реализовать, есть может какие-то готовые решения по этому типу, это же что-то вроде...
Пишу авторизацию Google OAuthИспользую этот компонент