Сложение значений переменных.
<input class="form-control" type="text" name="mykal" value=""/> <input class="form-control" type="text" name="mykal" value=""/> <input class="form-control" type="text" name="mykal" value=""/> ..... Вначале есть только первый инпут.В него из базы аяксом получаю значение. например var item = 1; // и вставляю в поле document.forms['my-recept'].mykal.value = item; Затем добавляю следующий импут и тд. Как мне в какую то переменную плюсовать значения,что бы потом вывести общую сумму? Цикл не хочется, так как каждый раз он будет считать по новой. |
Что за язык на сервере и как получает он затем форму? Если это РНР и если используется стандартное, то набор полей name="mykal" на сервере в итоге будет один значением, последним.
PS. Каким образом затем понять какой записи в базе соответствует поле если не видно связей? |
laimas,
Да,на сервере php. Что то я тупанул,что можно там считать. Цитата:
|
Цитата:
|
Цитата:
|
ureech, вы что вообще пытаетесь сделать? По коду не видно, чтобы было множество форм. Если это не ради забавы делается и будет отправляться на сервер, то сервер ничего не получится.
|
Да нет,Не ради забавы. Да в коде не стал указывать. Ок. Тогда так. /**********************************************************/ <form name="form_search1" id="form_search1" method="POST" action="" > <input class="form-control" type="text" name="myname" value=""/> <button onclick="Search_Item();" class="btn btn-light" type="button"></button> </form> <form name="my-recept1" id="my-recept1" method="POST" action="" > <input class="form-control" type="text" name="mykal" value=""/> </form> /***********************************************************/ <form name="form_search2" id="form_search2" method="POST" action="" > <input class="form-control" type="text" name="myname" value=""/> <button onclick="Search_Item();" class="btn btn-light" type="button"></button> </form> <form name="my-recept2" id="my-recept2" method="POST" action="" > <input class="form-control" type="text" name="mykal" value=""/> </form> /*************************************************************/ И тд. Каждый раз в value формы my-recept добавляются значение,которые и нужно складывать по мере добавления. Конечно я могу и на сервере складывать и передовать клиенту,но зачем,если можно и на этой стороне сделать. Можно и что то типа localStorage.., не знаю. Может получше решение есть). |
Складывать, это действие, которое можно производить над данными полученными от сервера. А форма, это для отправки данных на сервер. Если нужно только сложить тогда зачем форма? А если нужно отправить, то для кого?
|
Блин,laimas, ей богу. К чему всё это? Я в курсе для чего,что служит.В дальнейшем,всё что нужно отправится куда нужно). Какое это имеет отношение к вопросу?
|
Цитата:
Цитата:
Если даже в том, что у вас в коде есть нечто разумное, то это какая-то околесица. Уверен, что вы подходите к решению какой-то задачи неверным путем. |
В чём вообще можно быть уверенным)? И что есть верное или не верное)? Вы задаёте философские вопросы. Каждый решает задачу основываясь на свои знания и опыт). Поживём увидим,верно или нет).
|
Цитата:
А то, что вы писали про циклы (типо, зачем заново каждый раз считать) — можно завести состояние формочки, в котором будет храниться сумма, которая будет обновляться при добавлении нового поля. Правда такая предварительно вычисленная сумма достаточно просто обрабатывается при элементах формы только для чтения. Если эти элементы формы можно изменять (изменять значения), то проще всё-таки подсчитать сумму когда она нужна! Цитата:
|
Цитата:
|
Цитата:
|
Цитата:
Цитата:
|
Цитата:
|
Пока делаю через localStorage.
|
Цитата:
|
Цитата:
|
Цитата:
Цитата:
Слишком много записей или Вы считаете, что серверу обработать 1000 запросов легче, чем единовременно выдать массив данных? |
Цитата:
|
Цитата:
|
Цитата:
|
Цитата:
Попробуйте воспользоваться этим кодом: var appendNewValue = (function (sumInput) { var sum = 0; return function (newValue) { sum += +newValue; sumInput.mykal.value = sum; return sum; }; })(document.forms['my-recept'].mykal); // При загрузке страницы appendNewValue(/* значение из инпута, который уже есть на странице */); // При получении нового значения из бд appendNewValue(/* новое значение */); |
Цитата:
|
Цитата:
|
Цитата:
|
Цитата:
|
Цитата:
Можете запустить процесс на nodejs, который будет хранить это значение в оперативной памяти. P.S. я бы не стал в RAM хранить что-то, что можно навсегда потерять. Только не важную информацию или то, что можно легко восстановить. |
Цитата:
|
Изначально есть две формы. Одна поисковая,другая просто текстовая. В текстовой четыре импута. Я ввожу в поисковую слово и запускаю поиск по базе. Получаю список. Из него выбираю нужное мне название.Кликаю). Это название заносится в поисковый инпут, а его параметры в остальные четыре. Далее нажимаю кнопку"Добавить". Js формирует ещё две такие же формы, но уже с другим именем. И я снова повторяю поиск и тп. Когда я остановлюсь, то значение всех форм отправлю по назначению.На сервер.
Теперь мне нужна ещё одна форма или таблица или блок,не важно,куда будут записываться суммы параметров. Что бы я видел когда мне остановиться. Как сделать такую беду я знаю, а вот как записывать туда сумму нет. Отсюда был и вопрос. Да,забыл добавить,что все манипуляции,кроме запроса к базе,на стороне клиента. |
И теперь ответьте как всё это влияет на решение моего вопроса)?
|
Цитата:
|
Часовой пояс GMT +3, время: 20:50. |