Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 10.10.2017, 01:12
Интересующийся
Отправить личное сообщение для Denis_Landar Посмотреть профиль Найти все сообщения от Denis_Landar
 
Регистрация: 10.10.2017
Сообщений: 26

Сложности с формой отправки
Добрый вечер!
Есть форма на целую страницу(пример кода и фото ниже), не могу сделать так, что бы с таблицы в сумму тоже добавляли цену,как?
<form name="cl_form">
 
                            <p><strong>Толщина слоя (см):</strong>
                                <select name="thickness" id="thickness" onchange="calc(this.value);">
                                    <option value="0.5">3</option>
                                    <option value="1">5</option>
                                    <option value="1.5">10</option>
                                </select>
 
                                <p><strong>Площадь утепления (м<sup>2</sup>)</strong>
                                    <input type="text" id="square" onchange="calc(this.value);" style="width:70px" />
                                </p>
 
                            </p>
 
                            <div class="form-contact">
 
                                <span>Имя</span><input type="text" placeholder="Ваше имя:">
 
                                <span>Телефон</span><input type="tel" name="Телефон" id="phone1" placeholder="+38(___)-___-____*" required>
 
                                <span>E-mail</span><input type="email" placeholder="Ваш email:">
 
                            </div>
 
                            <div class="right-order">
 
                                <div class="title-page">
                                    <span style="font-size: 24px;">Кол-во баллонов (шт.)</span>
                                </div>
 
                                <input id="summary" value="0" name="summary" readonly="readonly" maxlength="10" size="10" type="text">
 
                                    <div style="margin-top: 20px;" class="title-page">
                                    <span style="font-size: 24px;">Сумма заказа</span>
                                </div>
 
                                <input id="summary2" value="0" name="summary2" readonly="readonly" maxlength="10" size="10" type="text">
 
                                <input type="submit" value="Заказать">
 
                            </div>
 
                            <table border="1">
                                <tr>
                                    <td rowspan="2">Наименование</td>
                                    <td rowspan="2">Вид</td>
                                    <td colspan="4">Цена, грн с НДС</td>
                                </tr>
                                <tr>
                                    <td>от 1 шт</td>
                                    <td>≥ 12 шт</td>
                                    <td>≥ 48 шт</td>
                                    <td>≥ 120 шт</td>
                                </tr>
                                <tr>
                                    <td>НПУ POLYNOR<br>
                                        Однокомпонентный напыяемый полиуретановый утеплитель тепло и шумоизоляции объектов.<br> Аэрозольный баллон 890 мл</td>
                                        <td><img style="width: 100px;height: 90px;" src="img/order/ballon.png"></td>
                                        <td>280.00</td>
                                        <td>270.00</td>
                                        <td>260.00</td>
                                        <td>240.00</td>
                                    </tr>
                                    <tr>
                                        <td>Угловая насадка POLYNOR<br>
                                            Для напыления утеплителя на потолок, пол и в трудодоступных местах.</td>
                                            <td><img style="width: 100px;height: 90px;" src="img/order/nasadka.png"></td>
                                            <td colspan="4">30.00
                                                <div class="number">
                                                    <span class="minus">-</span>
                                                    <input type="text" id="table-thi" value="0" onchange="calc(this.value);">
                                                    <span style="padding: 0 8px;" class="plus">+</span>
                                                </div></td>
                                            </tr>
                                            </table>
 
                                                        </form>

<script>
                function calc(par) {
                    thickness = $("#thickness option:selected").text();
                    price = document.cl_form.thickness.value;
                    square = document.cl_form.square.value;
                    summary = Number(price) * Number(square);
                    document.getElementById('summary2').value = (summary * 18).toString().replace( /(?=\B(?:\d{3})+\b)/g, ' '); 
                    summary2 = document.getElementById('summary2').value;   
                    document.cl_form.summary.value=summary;
                    showToOrderLink();
                    return false;
                } 
            </script>
Изображения:
Тип файла: jpg Screenshot_1.jpg (17.7 Кб, 5 просмотров)
Ответить с цитированием
  #2 (permalink)  
Старый 12.10.2017, 13:56
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

Прежде всего
<form name="cl_form">
 
                            <p><strong>Толщина слоя (см):</strong>
                                <select name="thickness" id="thickness" onchange="calc();">
                                    <option value="0.5" >3</option>
                                    <option value="1">5</option>
                                    <option value="1.5">10</option>
                                </select>
 
                                <p><strong>Площадь утепления (м<sup>2</sup>)</strong>
                                    <input type="text" id="square" onchange="calc();" style="width:70px" />
                                </p>
 
                            </p>
 
                            <div class="form-contact">
 
                                <span>Имя</span><input type="text" placeholder="Ваше имя:">
 
                                <span>Телефон</span><input type="tel" name="Телефон" id="phone1" placeholder="+38(___)-___-____*" required>
 
                                <span>E-mail</span><input type="email" placeholder="Ваш email:">
 
                            </div>
 
                            <div class="right-order">
 
                                <div class="title-page">
                                    <span style="font-size: 24px;">Кол-во баллонов (шт.)</span>
                                </div>
 
                                <input id="summary" value="0" name="summary" readonly="readonly" maxlength="10" size="10" type="text">
 
                                    <div style="margin-top: 20px;" class="title-page">
                                    <span style="font-size: 24px;">Сумма заказа</span>
                                </div>
 
                                <input id="summary2" value="0" name="summary2" readonly="readonly" maxlength="10" size="10" type="text">
 
                                <input type="submit" value="Заказать">
 
                            </div>
 
                            <table border="1">
                                <tr>
                                    <td rowspan="2">Наименование</td>
                                    <td rowspan="2">Вид</td>
                                    <td colspan="4">Цена, грн с НДС</td>
                                </tr>
                                <tr>
                                    <td>от 1 шт</td>
                                    <td>≥ 12 шт</td>
                                    <td>≥ 48 шт</td>
                                    <td>≥ 120 шт</td>
                                </tr>
                                <tr>
                                    <td>НПУ POLYNOR<br>
                                        Однокомпонентный напыяемый полиуретановый утеплитель тепло и шумоизоляции объектов.<br> Аэрозольный баллон 890 мл</td>
                                        <td><img style="width: 100px;height: 90px;" src="img/order/ballon.png"></td>
                                        <td>280.00</td>
                                        <td>270.00</td>
                                        <td>260.00</td>
                                        <td>240.00</td>
                                    </tr>
                                    <tr>
                                        <td>Угловая насадка POLYNOR<br>
                                            Для напыления утеплителя на потолок, пол и в трудодоступных местах.</td>
                                            <td><img style="width: 100px;height: 90px;" src="img/order/nasadka.png"></td>
                                            <td colspan="4"><div id = "price1">30.00</div>
                                                <div class="number">
                                                    <span class="minus">-</span>
                                                    <input type="text" id="table_thi" value="0" onchange="calc();">
                                                    <span style="padding: 0 8px;" class="plus">+</span>
                                                </div></td>
                                            </tr>
                                            </table>
 
                                                        </form>
<script>
function calc() {
                    price = document.cl_form.thickness.value;
                    square = document.cl_form.square.value;
                    price1 = document.getElementById('price1').innerText;
                    quantity = document.getElementById('table_thi').value;
                    summary = Number(price) * Number(square) ;
                    document.getElementById('summary2').value = (summary * 18 +Number(price1) * Number(quantity)).toString() ; 
                    document.cl_form.summary.value=summary;
} ;
document.querySelector(".minus").onclick = function() {
          quantSrc = document.getElementById('table_thi');
          quantity = +quantSrc.value;
          quantity ? quantity--: quantity=0;
          quantSrc.value = quantity.toString();
          calc();
}
document.querySelector(".plus").onclick = function() {
          quantSrc = document.getElementById('table_thi');
          quantity = +quantSrc.value +1;
          quantSrc.value = quantity.toString();
          calc();
}
            </script>

И просьба написать попонятнее насчет таблицы

Последний раз редактировалось Dilettante_Pro, 17.10.2017 в 12:55.
Ответить с цитированием
  #3 (permalink)  
Старый 16.10.2017, 00:19
Интересующийся
Отправить личное сообщение для Denis_Landar Посмотреть профиль Найти все сообщения от Denis_Landar
 
Регистрация: 10.10.2017
Сообщений: 26

Dilettante_Pro,
Вот пример страницы
Вложения:
Тип файла: zip js-forum.zip (1.74 Мб, 0 просмотров)
Ответить с цитированием
  #4 (permalink)  
Старый 16.10.2017, 11:14
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

Denis_Landar,
Вы полагаете, что кто-то скачает ваш зип 1,74 Мб, распакует его и будет просматривать весь этот материал, пытаясь понять логику работы, да еще к тому же недоделанную?
Сообщение от Denis_Landar
не могу сделать так, что бы с таблицы в сумму тоже добавляли цену,как?
Расшифруйте эту фразу - какие данные, по каким условиям должны обрабатываться по каким-то формулам и куда-то размещаться
Ответить с цитированием
  #5 (permalink)  
Старый 16.10.2017, 16:34
Интересующийся
Отправить личное сообщение для Denis_Landar Посмотреть профиль Найти все сообщения от Denis_Landar
 
Регистрация: 10.10.2017
Сообщений: 26

Dilettante_Pro,
В таблице есть товар и при нажатии на +(сколько там будет единиц), та сумма которая сверху, должна добавляться в общую сумму заказа
Ответить с цитированием
  #6 (permalink)  
Старый 16.10.2017, 18:57
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

Denis_Landar,
Похоже, я все-таки не смогу ничего понять.
Ответить с цитированием
  #7 (permalink)  
Старый 16.10.2017, 23:32
Интересующийся
Отправить личное сообщение для Denis_Landar Посмотреть профиль Найти все сообщения от Denis_Landar
 
Регистрация: 10.10.2017
Сообщений: 26

Dilettante_Pro,
Спасибо, что уделяете мне время!
Есть пример виде фото.
На фото внизу есть таблица, в которой есть товар и когда пользователь нажимает на плюс(будет добавляться количество товара в форме ячейки таблицы) у это товара есть цена и она написана сверху над каждым товаром
Вопрос: как сделать так, что бы сумма товара которая получается в таблице, добавлялась в общую суму?
Изображения:
Тип файла: jpg Screenshot_1.jpg (17.7 Кб, 3 просмотров)
Ответить с цитированием
  #8 (permalink)  
Старый 17.10.2017, 12:56
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

Denis_Landar,
Пример в пост#2 дополнен.
Основные проблемы - из-за крайне неудобной верстки.
Подумайте над этим, иначе получается не скрипт, а костыли

Последний раз редактировалось Dilettante_Pro, 17.10.2017 в 12:59.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Простая форма отправки почты TRIGUN Общие вопросы Javascript 1 08.12.2015 17:43
Как залочить кнопку отправки (после отправки данных) в форме на указанное время? ninjajnin Events/DOM/Window 2 22.10.2015 09:39
Как сделать disabled кнопки во время отправки формы? Bad Request Events/DOM/Window 7 16.04.2014 13:49
запретить перенаправление после отправки POST hi_artem AJAX и COMET 2 16.10.2011 18:41
Проблема с дизайном после отправки xmlhttprequest, Проблема с дизайном после отправки cyberx AJAX и COMET 3 01.05.2010 17:07