Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Изменения элемента суммы на View (https://javascript.ru/forum/dom-window/83420-izmeneniya-ehlementa-summy-na-view.html)

BorisJe 03.12.2021 16:40

Цитата:

Сообщение от ksa (Сообщение 542078)
Так ты не путай атрибут и свойство ДОМ-элемента... ;)
https://learn.javascript.ru/dom-attr...and-properties

Ну вот вся проблема что Мне надо это значение как то получить. Ну а дальше передать контроллер. А что бы его передать он должен быть на форме, изменить свое value

ksa 03.12.2021 16:45

Цитата:

Сообщение от BorisJe
Мне надо это значение как то получить.

JS сможет получить эти данные из свойства ДОМ-элемента...
После этого передаст в контроллер.

Т.е. тебе нужно получать данные суммы не
<элемент>.getAttribute('value')

а вот так
<элемент>.value

ksa 03.12.2021 16:50

Вот так будет меняться еще и атрибут... :)
<style>
.btn {
	margin-bottom: 10px;
}
.btn button + button {
	margin-left: 10px;
}
</style>
<script>
document.addEventListener('DOMContentLoaded', _ => {
	document.querySelectorAll('.btn').forEach(_ => {
		const ot = _.parentNode.querySelector('.total')
		_.addEventListener('click', _ => {
			const o = _.target
			if (o.tagName !== 'BUTTON') return
			const val = +ot.value + +o.value
			ot.value = val
			ot.setAttribute('value', val)
		})
	})
})
</script>
<div class='container'>
	<div class='btn'>
		<button value='1'>1</button>
		<button value='2'>2</button>
		<button value='5'>5</button>
		<button value='10'>10</button>
	</div>
	<label>
		Сумма
		<input type='text' class='total' />
	</label>
</div>

BorisJe 05.12.2021 10:39

Цитата:

Сообщение от ksa (Сообщение 542082)
Вот так будет меняться еще и атрибут... :)
<style>
.btn {
	margin-bottom: 10px;
}
.btn button + button {
	margin-left: 10px;
}
</style>
<script>
document.addEventListener('DOMContentLoaded', _ => {
	document.querySelectorAll('.btn').forEach(_ => {
		const ot = _.parentNode.querySelector('.total')
		_.addEventListener('click', _ => {
			const o = _.target
			if (o.tagName !== 'BUTTON') return
			const val = +ot.value + +o.value
			ot.value = val
			ot.setAttribute('value', val)
		})
	})
})
</script>
<div class='container'>
	<div class='btn'>
		<button value='1'>1</button>
		<button value='2'>2</button>
		<button value='5'>5</button>
		<button value='10'>10</button>
	</div>
	<label>
		Сумма
		<input type='text' class='total' />
	</label>
</div>

Спасибо мужик, это то что Я хотел

BorisJe 07.12.2021 16:50

Цитата:

Сообщение от ksa (Сообщение 542082)
Вот так будет меняться еще и атрибут... :)
<style>
.btn {
	margin-bottom: 10px;
}
.btn button + button {
	margin-left: 10px;
}
</style>
<script>
document.addEventListener('DOMContentLoaded', _ => {
	document.querySelectorAll('.btn').forEach(_ => {
		const ot = _.parentNode.querySelector('.total')
		_.addEventListener('click', _ => {
			const o = _.target
			if (o.tagName !== 'BUTTON') return
			const val = +ot.value + +o.value
			ot.value = val
			ot.setAttribute('value', val)
		})
	})
})
</script>
<div class='container'>
	<div class='btn'>
		<button value='1'>1</button>
		<button value='2'>2</button>
		<button value='5'>5</button>
		<button value='10'>10</button>
	</div>
	<label>
		Сумма
		<input type='text' class='total' />
	</label>
</div>

Спасибо мужик, это то что Я хотел


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