Intereting Posts
Переменные сеанса PHP не поддерживаются Получить родительский каталог запущенного скрипта При использовании уникальной буквенно-цифровой строки для короткого URL-адреса лучше ли хранить созданную строку в базе данных или кодировать / декодировать «на лету»? Проблемы с вводом файлов – ограничение количества выбранных файлов Копировать изображение с удаленного сервера по HTTP Доктрина миграции 2 + zend framework 2 = возможно ли это? Проверка PHP Если require_once () Содержимое пустое как установить openssl для php 5.3.5 на windows xp? Как динамически генерировать инструкцию MYSQL UPDATE на основе определенных переменных из HTML FORM Использование имен узлов XML с дефисами в PHP PHP TCPDF ERROR: невозможно создать выходной файл, папка существует и имеет правильные разрешения Использовать композитор для установки пакета в пользовательском каталоге Запланируйте работу в Gearman на определенную дату и время Массив Php Mysql NOT IN влияет только на первый результат в массиве Зачем использовать bin2hex при вставке двоичных данных из PHP в MySQL?

Попытка получить общую сумму на основе ввода пользователем

У меня есть страница, на которой пользователь может отправить форму, которая работает нормально, но я хочу иметь поле количества, в котором пользователь может ввести номер, а в поле итогов он покажет общее количество, обновляя их количество. Я хотел бы достичь этого, не перезагружая страницу. Я думаю, что javascript будет лучшим для этого, но я не уверен, как это сделать, поскольку у меня есть опыт работы с javascript. Любая помощь очень ценится !!!

Мой код до сих пор:

<form> <table align="center"> <tr> <td colspan="3" align="center"><img src="<?php echo getProductImage($product_id); ?>" title="<?php echo getProductName($product_id); ?>" /></td> </tr> <tr> <td colspan="3"><br/></td> </tr> <tr> <td align="center">Quantity:</td> <td colspan="2"></td> </tr> <tr> <td><input type="number" min="64" max="9999" name="quantity" /></td> <td>&nbsp;&nbsp;@&nbsp;&nbsp;$<?php echo number_format((getProductPrice($product_id)/2),4); ?>/per item&nbsp;&nbsp;=&nbsp;&nbsp;</td> <td>Total Goes Here</td> </tr> </table> </form> 

См. Этот JSFiddle (обратите внимание на добавленный атрибут data-product-price )

HTML

 <table align="center"> <tr> <td align="center">Quantity:</td> <td colspan="2"></td> </tr> <tr> <td><input type="number" min="64" max="9999" name="quantity" /></td> <td>&nbsp;&nbsp;@&nbsp;&nbsp;$345.50/per item&nbsp;&nbsp;=&nbsp;&nbsp;</td> <td data-product-price="345.50"></td> </tr> </table> 

JavaScript

 $(function(){ $("input[name='quantity']").on("input", function(){ var $outputCell = $(this).parent().siblings("[data-product-price]").eq(0); $outputCell.html((+$outputCell.data("product-price") * +$(this).val()).toFixed(2)); }); }); 

Минимальным примером использования jQuery и Javascript может быть:

 <form> Quantity: <input type="text" id="quantityField"> <div>Total: <span id="totalField">0</span> $ (5$/item)</div> </form> <script src="https://code.jquery.com/jquery-2.1.4.min.js"></script> <script> // The line above loads jQuery // Javascript code goes here. You would normally have this in a separate file. // Somehow fetch the desired price from your program var pricePerItem = 5; // This code executes when the quantityField elements value changes $('#quantityField').on('input',function(event){ // 1. Read quantity var quantity = $(this).val(); // 2. Calculate total var total = pricePerItem * quantity; // 3. Update total field $('#totalField').text(total); }); </script> 

Вы можете попробовать эхо цена / за продукт внутри отключенного ввода или добавив скрытый ввод, значение которого является ценой / на продукт.

Тогда вы можете попробовать этот JS:

 $('your_quantity_input').on('change', function() { var quantity = $(this).val(); var price = $('your_hidden_input').val(); var total = quantity * price; $('your_td_total').html(total); }); 

Это с помощью jQuery.

Вот рабочий пример:

https://jsfiddle.net/LzLep9ez/