Перейти к содержимому


Genfon

Регистрация: 07 мая 2013
Не в сети Активность: мая 11 2013 16:32
-----

Мои сообщения

В теме: Произвольная сумма оплаты

08 мая 2013 - 23:17

Продолжение...
Как можно к квитанции добавить те пункты, которым соответствуют выбранные checkbox??
А то сложно понять, что из товаров купили.

Один из вариантов - разместить названия в label-ах, потом на их основе формировать итоговое примечание. Код ниже. Можно и цену каждого товара вписать заодно (этот вариант показал в закомментированной строке)

Только надо учитывать, что максимальная длина примечания = 255 символов.

 

Ну и будет задействовано предназначение label-а - теперь можно не целиться по галочке, :) а сразу кликать по тексту, который к ней привязан (через for)

><html>
<head>
<title>Магазин</title>
<meta http-equiv="Content-Type" Content="text/html; charset=windows-1251">
</head>
<body>
<script language="JavaScript" type="text/javascript">
/*<![CDATA[*/
function sum()
{
k=0;
d='Покупка техники (';
for(i=0;i<6;i++) {
if(document.getElementById('tovar'+i).checked) {
k+=parseInt(document.getElementById('tovar'+i).value);
d+=document.getElementById('lab'+i).innerHTML+', ';
//d+=document.getElementById('lab'+i).innerHTML+' = '+document.getElementById('tovar'+i).value+', ';
}
}
if (k==0) { alert("Выберите хотя бы один товар") }
else {
d=d.slice(0, -2)+')';
//alert(d);
document.getElementsByName("LMI_PAYMENT_DESC")[0].value=d;
document.form1.res.value=k;
document.getElementsByName("LMI_PAYMENT_AMOUNT")[0].value=k;
}
}
/*]]>*/
</script>

<h3>Электронный магазин</h3>
Укажите товары, которые вы хотите приобрести:<BR>
<form name="form1">
<input type="checkbox" id="tovar0" value="2500"><label id="lab0" for="tovar0">Телевизор</label><BR>
<input type="checkbox" id="tovar1" value="3000"><label id="lab1" for="tovar1">Холодильник</label><BR>
<input type="checkbox" id="tovar2" value="1000"><label id="lab2" for="tovar2">Телефон</label><BR>
<input type="checkbox" id="tovar3" value="1500"><label id="lab3" for="tovar3">Стиральная машина</label><BR>
<input type="checkbox" id="tovar4" value="800"><label id="lab4" for="tovar4">Микроволновая печь</label><BR>
<input type="checkbox" id="tovar5" value="300"><label id="lab5" for="tovar5">Пылесос</label><BR>
<HR><INPUT type="button" value=Посчитать onClick="sum()"><INPUT type="reset" value="Отменить"><br>
Общая стоимость = <input type="text" name="res" size=5><HR>
</form>
<form method="POST" action="https://merchant.web...lmi/payment.asp">
<input type="hidden" name="LMI_PAYEE_PURSE" value="R000000000000">
<input type="hidden" name="LMI_PAYMENT_AMOUNT" value="0">
<input type="hidden" name="LMI_PAYMENT_DESC" value="привет">
<input type="submit" class="wmbtn" style="font-famaly:Verdana, Helvetica, sans-serif!important;padding:0 10px;height:30px;font-size:12px!important;border:1px solid #538ec1!important;background:#a4cef4!important;color:#fff!important;" value=" &#1086;&#1087;&#1083;&#1072;&#1090;&#1080;&#1090;&#1100;">
</form>
</body>
</html>

 

Какая красота! :)

А говорил, что в JavaScript не силен.

Скромняга! Спасибо.


В теме: Произвольная сумма оплаты

08 мая 2013 - 19:00

 

Как можно передать динамическую переменную из функции sum() и присвоить его переменнной summa_pokupok

А я в предыдущем сообщении чем занимался?

Операция присваивания в JavaScript - это одиночный знак равенства.

summa_pokupok я использовал в качестве примера. Если уже есть переменная, в которой хранится это значение (это ведь k?), плодить новые не нужно.

>>как может выглядеть код? ( код формы WM)

lockquote>

Обязательных параметров всего три - Форма запроса платежа

>Чего то ругается модуль WM

Цензура не позволяет показать ругань? :)

Я испробовал несколько вариантов, пока безрезультатьно.

За просмотр кода этих попыток Вам надо заплатить авторские отчисления?
 
Я предупредил, что не силён в JS, поэтому накосячил в двух местах:

getElementsByName('LMI_PAYMENT_AMOUNT').value=summa_pokupok;

Исправляюсь:

1) Забыл про document, надок нему обращаться, а не в пустоту: document.getElementsByName
2) getElementsByName возвращает элементы, поэтому чтобы обратиться к конкретному, пусть даже и единственному, надо указать его порядковый номер (нумерация как всегда в программерском стиле - с нуля). Так что [0].value
 
Минимальный рабочий код, который можно скопировать и проверить, например, вот тут, или тут, или здесь

<form method="POST" action="https://merchant.web...lmi/payment.asp">
<input type="text" name="LMI_PAYEE_PURSE" value="R000000000000">
<input type="text" name="LMI_PAYMENT_AMOUNT" value="101.02">
<input type="text" name="LMI_PAYMENT_DESC" value="Test">
</form>
<script>
document.getElementsByName("LMI_PAYMENT_AMOUNT")[0].value=202.01;
</script>

 

Отлично. Большое спамибо. Все получилось! :)

Вот код на выходе:

<HTML>
<HEAD>
<TITLE></TITLE>
<script language="JavaScript" type="text/javascript">
/*<![CDATA[*/
function sum()
{
k=0;
for(i=0;i<6;i++)
{
    if(document.getElementById('tovar'+i).checked)
    k+=parseInt(document.getElementById('tovar'+i).value);}
    document.form1.res.value=k;
    document.getElementsByName("LMI_PAYMENT_AMOUNT")[0].value=k;
}
/*]]>*/
</script>
</HEAD>

<BODY>
<h3>Электронный магазин</h3>
Укажите товары, которые вы хотите приобрести: <BR>
<form name="form1">
<input type="checkbox" id="tovar0" value="2500">Телевизор<BR>
<input type="checkbox" id="tovar1" value="3000">Холодильник<BR>
<input type="checkbox" id="tovar2" value="1000">Телефон<BR>
<input type="checkbox" id="tovar3" value="1500">Стиральная машина<BR>
<input type="checkbox" id="tovar4" value="800">Микроволновая печь<BR>
<input type="checkbox" id="tovar5" value="300">Пылесос<BR>
<HR>
<INPUT type="button" value=Посчитать onClick="sum()">
<HR>

Общая стоимость
<input type="text" name="res" size=3><HR>

<INPUT type="reset" value="Отменить">
</form>
<form action="https://merchant.web...lmi/payment.asp" method="POST">
 <input type="hidden" name="LMI_PAYMENT_AMOUNT" value="1500.00">
 <input type="hidden" name="LMI_PAYMENT_DESC_BASE64" value="">
 <input type="hidden" name="LMI_PAYEE_PURSE" value="R00000000000">
<input type="submit" class="wmbtn" style="font-famaly:Verdana, Helvetica, sans-serif!important;padding:0 10px;height:30px;font-size:12px!important;border:1px solid #538ec1!important;background:#a4cef4!important;color:#fff!important;" value=" &#1086;&#1087;&#1083;&#1072;&#1090;&#1080;&#1090;&#1100;  ">
</form>

 

Продолжение...

Как можно к квитанции добавить те пункты, которым соответствуют выбранные checkbox??

А то сложно понять, что из товаров купили.

Спасибо.


В теме: Произвольная сумма оплаты

08 мая 2013 - 18:38

Как можно передать динамическую переменную из функции sum() и присвоить его переменнной summa_pokupok

А я в предыдущем сообщении чем занимался?

Операция присваивания в JavaScript - это одиночный знак равенства.

summa_pokupok я использовал в качестве примера. Если уже есть переменная, в которой хранится это значение (это ведь k?), плодить новые не нужно.

>как может выглядеть код? ( код формы WM)

Обязательных параметров всего три - Форма запроса платежа

Чего то ругается модуль WM

Цензура не позволяет показать ругань? :)

Я испробовал несколько вариантов, пока безрезультатьно.

За просмотр кода этих попыток Вам надо заплатить авторские отчисления?
 
Я предупредил, что не силён в JS, поэтому накосячил в двух местах:

getElementsByName('LMI_PAYMENT_AMOUNT').value=summa_pokupok;

Исправляюсь:

1) Забыл про document, надок нему обращаться, а не в пустоту: document.getElementsByName
2) getElementsByName возвращает элементы, поэтому чтобы обратиться к конкретному, пусть даже и единственному, надо указать его порядковый номер (нумерация как всегда в программерском стиле - с нуля). Так что [0].value
 
Минимальный рабочий код, который можно скопировать и проверить, например, вот тут, или тут, или здесь

<form method="POST" action="https://merchant.web...lmi/payment.asp">
<input type="text" name="LMI_PAYEE_PURSE" value="R000000000000">
<input type="text" name="LMI_PAYMENT_AMOUNT" value="101.02">
<input type="text" name="LMI_PAYMENT_DESC" value="Test">
</form>
<script>
document.getElementsByName("LMI_PAYMENT_AMOUNT")[0].value=202.01;
</script>

 

Отлично. Большое спамибо. Все получилось! :)

Вот код на выходе:

<HTML>
<HEAD>
<TITLE></TITLE>
<script language="JavaScript" type="text/javascript">
/*<![CDATA[*/
function sum()
{
k=0;
for(i=0;i<6;i++)
{
    if(document.getElementById('tovar'+i).checked)
    k+=parseInt(document.getElementById('tovar'+i).value);}
    document.form1.res.value=k;
    document.getElementsByName("LMI_PAYMENT_AMOUNT")[0].value=k;
}
/*]]>*/
</script>
</HEAD>

<BODY>
<h3>Электронный магазин</h3>
Укажите товары, которые вы хотите приобрести: <BR>
<form name="form1">
<input type="checkbox" id="tovar0" value="2500">Телевизор<BR>
<input type="checkbox" id="tovar1" value="3000">Холодильник<BR>
<input type="checkbox" id="tovar2" value="1000">Телефон<BR>
<input type="checkbox" id="tovar3" value="1500">Стиральная машина<BR>
<input type="checkbox" id="tovar4" value="800">Микроволновая печь<BR>
<input type="checkbox" id="tovar5" value="300">Пылесос<BR>
<HR>
<INPUT type="button" value=Посчитать onClick="sum()">
<HR>

Общая стоимость
<input type="text" name="res" size=3><HR>

<INPUT type="reset" value="Отменить">
</form>
<form action="https://merchant.web...lmi/payment.asp" method="POST">
 <input type="hidden" name="LMI_PAYMENT_AMOUNT" value="1500.00">
 <input type="hidden" name="LMI_PAYMENT_DESC_BASE64" value="">
 <input type="hidden" name="LMI_PAYEE_PURSE" value="R00000000000">
<input type="submit" class="wmbtn" style="font-famaly:Verdana, Helvetica, sans-serif!important;padding:0 10px;height:30px;font-size:12px!important;border:1px solid #538ec1!important;background:#a4cef4!important;color:#fff!important;" value=" &#1086;&#1087;&#1083;&#1072;&#1090;&#1080;&#1090;&#1100;  ">
</form>


В теме: Произвольная сумма оплаты

08 мая 2013 - 11:00

Подскажите, пожалуйста, как добавить в форму ниже сумму

Назначить input-у LMI_PAYMENT_AMOUNT ещё и id (допустим="sumid"), а потом, наверное, просто
document.getElementById('sumid').value=summa_pokupok;

Ну или даже сразу по name вычислить и назначить значение. В JavaScript не силён, но исходя из Вашего же кода может красивое решение будет такое, если добавить name второй форме:
document.form2.LMI_PAYMENT_AMOUNT.value=summa_pokupok;


Перемудрил.
getElementsByName('LMI_PAYMENT_AMOUNT').value=summa_pokupok;

Чего то ругается модуль WM.

Как можно передать динамическую переменную из функции sum() и присвоить его переменнной summa_pokupok и как может выглядеть код? ( код формы WM)
Я испробовал несколько вариантов, пока безрезультатьно.

Спасибо за помощь
 


В теме: Произвольная сумма оплаты

07 мая 2013 - 22:25

<script language="JavaScript" type="text/javascript">
/*<![CDATA[*/
function sum()
{
k=0;
for(i=0;i<6;i++)
{
    if(document.getElementById('tovar'+i).checked)
    k+=parseInt(document.getElementById('tovar'+i).value);}
    document.form1.res.value=k;
}
/*]]>*/
</script>
</HEAD>

<BODY>
<h3>Электронный магазин</h3>
Укажите товары, которые вы хотите приобрести: <BR>
<form name="form1">
<input type="checkbox" id="tovar0" value="2500">Телевизор<BR>
<input type="checkbox" id="tovar1" value="3000">Холодильник<BR>
<input type="checkbox" id="tovar2" value="1000">Телефон<BR>
<input type="checkbox" id="tovar3" value="1500">Стиральная машина<BR>
<input type="checkbox" id="tovar4" value="800">Микроволновая печь<BR>
<input type="checkbox" id="tovar5" value="300">Пылесос<BR>
<HR>
<INPUT type="button" value=Посчитать onClick="sum()">
<HR>

Общая стоимость
<input type="text" name="res" size=3><HR>

<INPUT type="reset" value="Отменить">
</form>

 

 

Есть скрипт и форма чекбоксов, которая на выходе дает общую сумму заказа.

Подскажите, пожалуйста, как добавить в форму ниже сумму изходя из расчета скрипта вместо 1500 WMR, указаных в форме?

 

<form action="https://merchant.web...lmi/payment.asp" method="POST">
 <input type="hidden" name="LMI_PAYMENT_AMOUNT" value="1500.00">
 <input type="hidden" name="LMI_PAYMENT_DESC_BASE64" value="0J7Qv9C70LDRgtCwINGD0YfQsNGB0YLQuNGPINC90LAg0LzQtdC20LTRg9C90LDRgNC+0LTQvdC+0Lkg0LrQvtC90YTQtdGA0LXQvdGG0LjQuCDCq9Ca0L7Rg9GH0LjQvdCzINC4INCR0LjQt9C90LXRgcK7">
 <input type="hidden" name="LMI_PAYEE_PURSE" value="R192411015445">
<input type="submit" class="wmbtn" style="font-famaly:Verdana, Helvetica, sans-serif!important;padding:0 10px;height:30px;font-size:12px!important;border:1px solid #538ec1!important;background:#a4cef4!important;color:#fff!important;" value=" &#1086;&#1087;&#1083;&#1072;&#1090;&#1080;&#1090;&#1100; 1500.00 WMR ">
</form>