Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   При добавлении элемента стираются значения в инпуте (https://javascript.ru/forum/events/68642-pri-dobavlenii-ehlementa-stirayutsya-znacheniya-v-inpute.html)

Crenom 28.04.2017 16:25

При добавлении элемента стираются значения в инпуте
 
Здравствуйте. Вопрос по нативному js:

Есть контейнер:
Нужно в него добавлять товары по нажатию на кнопку. Но при каждом нажатии на кнопку поля input обнуляются до дифолтных. Как мне сделать чтобы не обнулялись? Я это делаю так:

Html:
<div class = 'product_list' id = 'product_list'></div>
<input type="submit" value="Новый товар" onclick = 'add_newProduct ()'>


JS:
var productListObj = document.getElementById('product_list');
var productNumber = 0;

function add_newProduct ()
{
	productNumber = productNumber + 1;

	var NewProduct = "<div class = 'product'> \
			<div class = 'number'>"+productNumber+".</div><textarea id='product_name"+productNumber+"'>Название по дифолту</textarea> \
			<div class = 'product_parameters'> \
				<input type='text' value='0' id = 'price"+productNumber+"'> \
			</div> \
		</div>";

	productListObj.innerHTML = productListObj.innerHTML + NewProduct;
}

laimas 28.04.2017 16:38

input type="submit" - речь о форме?

Crenom 28.04.2017 16:42

Нет. Формы не использую, submit - просто как кнопка на которую кликаю и вызывается "add_newProduct ()"

laimas 28.04.2017 16:45

Если не форма значит type="button".

А насчет полей, так они не обнуляются, а так и добавляются - <input type='text' value='0' ...

Crenom 28.04.2017 16:47

Да, но если я в них что-то напишу и потом нажму на кнопку то они обнулятся и value снова будет = 0

laimas 28.04.2017 16:52

Вы что хотите сделать - корзину товаров или что?
Если корзина, то причем тут input и textarea да еще вне формы?

Crenom 28.04.2017 16:58

Я хочу что-то типо калькулятора сделать. По кнопке "добавить товар" я накидываю шаблоны товаров и параллельно заполняю поля. Потом нажму на кнопку рассчитать и будет происходить расчет.

laimas 28.04.2017 17:05

Откуда "накидываете" да еще параллельно заполняя?

К примеру ваши пользователи выбирают товары на странице. Они где, скрыты и их надо "выковырять и накидать"? Наверное же они уже на странице. А при каждом выборе нужно просто пробежаться по выбранным и просчитать. Зачем для этого какой-то html-код во что-то помещать?

Вот это понятно, а что вы творите не понимаю.

Crenom 28.04.2017 17:20

Я прошу прощение, что делаю ссылку на другой ресурс, может быть на форуме так нельзя. Я быстро на бесплатном домене набросал как я сделал без лишнего.
Например прихожу я в магазин, беру товары и в эту форму заполняю. Взял новый товар, нажал на кнопку "добавить шаблон товара", записал что взял Молоко за 70 рублей в количестве 5 штук. Потом я иду и беру пачку риса. Когда я жму на "добавить шаблон товара" у меня сбрасывается всё.

ссылка: http://crenom.eu.pn
Чтобы посмотреть на скрипт: .../script.js

laimas 28.04.2017 17:26

Уважаемый, то о чем вы говорите называется корзиной.

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

А то что вы делаете, этому даже и названия нет - хрен знает что за товар, хрен знает какая его цена... покупатель написал, покупатель же назначил цену, так что-ли, ну что за хрень?


Часовой пояс GMT +3, время: 14:36.