Помочь с формой
Здравствуйте, помогите кто-та сделать input в котором будет указана сумма
при выборе товара который есть в span например <span id='1'>Товар 1 - 500 руб</span> <span id='2'>Товар 2 - 1500 руб</span> <span id='3'>Товар 3 - 2500 руб</span> <span id='4'>Товар 4 - 3500 руб</span> и надо значение поставить в <input> |
Цитата:
|
ну цены поставить надо, в input чтоб дальше человек оплатил нужную сумму
|
Цитата:
Серверу нужен идентификатор выбранного товара и его количество, а цены, если даже их пришлет клиент, сервер должен игнорировать. В противном случае это не магазин. Посчитать цену на клиенте, это значит сервис для клиента, а поля формы для отображения подобной информации совсем не требуется. |
данные которые есть в инпуте просто подставлялись и всё, и выводились человеку в зависимости на какую кнопку он клацнул
|
Цитата:
<form> <label><input name="good[]" type="checkbox" value="1" data-price="500"> Товар 1 - 500 руб</label> <label><input name="good[]" type="checkbox" value="2" data-price="1500"> Товар 2 - 1500 руб</label> .... </form> и пользователь сразу будет видеть выбор свой, а каждый выбор, это получить выбранные флажки формы и сложить их значения data-price, и отобразить где-то клиенту? |
можно и так, доделаешь до конца? в input нужно вывести сумму
|
Цитата:
|
сумма которая попадет в инпут я дальше её в базу передаю, по базе потом проверяю кто заказал и на какую сумму
|
Цитата:
У вас база, товары описаны в ней, цены описаны в базе, а получить цену товара, это означает сделать запрос в базу по идентификатору товара и получить его цену. Если вы разрешаете мне как клиенту определять цену, то я разве дурной? Почему бы мне не прислать серверу форму где будет не 500, а 5 руб.? Разве так можно поступать? Хотя, если не думать, то можно. :) Уже есть прецедент, когда "мелким почерком" в договоре не банк дописал, надеясь на то, что клиент не обратит на это внимание, а наоборот это сделал клиент, а банк прошляпил. И если бы не мировое решение, то банк бы поплатился такой оплошностью. Вы думаете, что если и вы так торговать будете, то я не смогу "нагреть" вас? :) |
просто в дальнейшем будет подключатся оплата, и если он будет менять в форме сумму, то если меньше оплатить за тот же товар я проверю это
|
Цитата:
Пусть у вас в таблице goods товары: id - идентификатор товара, name - его наименование, price - цена товара. Вы выводите на страницу форму так как я описал в примере. Выбранные товары, их идентификаторы, будут переданы серверу как массив, пусть POST['good']. if($goods = array_diff(array_map('intval', $_POST['good']), [0])) { //массив не пуст, опустим проверку наличия таковых товаров в базе, хотя это нужно делать //пишем полученные gid товаров в таблицу заказов orders, привязывая их к oid заказа покупателя //если заказчик может редактировать свой выбор, то выбранное им определяется этой таблицей } Показать же сумму набранную по товарам (для простоты опускаем именование товаров, тем более мне не известно, что вообще делается у вас на сервере), это $sql = 'SELECT SUM(price) total FROM goods WHERE id IN(SELECT gid FROM orders WHERE oid='.$order.')'; |
:cray: ну сделайте что я прошу, пожалуйста
|
Определить цену клиентом и отправить ее серверу?
Это не сложно, в плане кода, но я такого показывать не стану, так делать нельзя, и такое даже обсуждаться не должно. Пусть вам такое показывает тот, кому пофиг - просят, да пожалуйста. ) |
И так на странице есть 4 товара которые отображены в <span></span>
есть сумма которую должен заплатить человек(эту сумму он выбирает сам) то есть в input форме он вставляет например 1500 и далее нажимает отправить, я фильтрую эту сумму проверяю со всеми возможными и т.д но на сайте есть товары у которых фиксированная цена например 100, 500 и 1500 рублей нужно чтоб при выборе нужного товара, сумма просто автоматически вставилась в input поле, без введния её пользователям... Больше ничего не нужна, только чтоб с span кнопки сумма прописывалась в input, и если вдруг он выберет другую span кнопку то цена менялась |
То есть магазин с аукционом, тогда это все меняет. Но
Цитата:
Вопрос - каким образом вы будете знать, что присланная клиентом цена в 700 руб, это цена за товар с ценой 500, и не 1500 руб.? По идее, в таком случае, на странице не может быть отображено 4 товара, а только один, с предлагаемой ценой или диапазоном цен 100 - 1500 и с возможностью указания и своей цены. Но даже в этом случае серверу должна передаваться информация id=>price. Иначе как можно понять это - "на странице есть 4 товара ... есть сумма которую должен заплатить человек(эту сумму он выбирает сам)"? Эта сумма за что, за несуществующий на странице пятый товар? Цитата:
|
Типичный галлюциногенный топик "Гуляют там животные невиданной красы..."
porezon, все начинается с бизнес-логики. |
почему аукцион? мне не нужно никаких готовых цен, всё работает по типу копилки, любой кидает любую сумму, ну чтоб руками её не писать, выбирает по кнопке нужную себе сумму
|
Цитата:
Я уже говорил, что получить цену и по ней определять на сервере, что это такое, это полная профанация. К чему, к какому товару будет привязываться своя цена? Вы ничего не поясняете, пишите такое, что просто ахтунг. Теперь же, следуя по тексту, можно предположить, что речь о предложениях на один товар. Тогда: <style> #add { display: none } </style> <script> function getPrice(o) { var i = document.getElementById('add'); if(!o.value) { i.name = o.name; i.style.display = 'inline' } else { i.name = ''; i.style.display = 'none' } } </script> <form> <select name="good[12]" onchange="getPrice(this)"> <option value="100">100 руб.</option> <option value="500">500 руб.</option> <option value="1500">1500 руб.</option> <option value="">Другая</option> </select> <input id="add" /> <button>GO</button> </form> Если будет выбрана своя цена, то сервер получит последнее значение массива - поля ввода, так как оно после списка, а имя получает такое же как и у списка. А 12, это идентификатор товара, а просто цена, это полный бред. |
текс текст текст
|
Всё разобрался, всем спасибо
|
Цитата:
|
Цитата:
string_number.replace(/\B(?=(?:\d{3})+(?!\d))/g, ' ') |
Часовой пояс GMT +3, время: 08:58. |