|
|
Модератор форума: JonMagon |
Сообщество uCoz » Вебмастеру » JavaScript, Flash и прочие технологии » JavaScript » Обращение к input без id (Описание темы) |
Обращение к input без id |
Доброго времени. Возникла проблема, нужно в js сделать скрипт, который будет обращаться к полю по его имени, а не по ID. Подскажите пожалуйста как можно решить такую задачу
Код <div class="linked-form__field linked-form__field-numeric " data-id="917161"> <div class="linked-form__field__label"> <span>Себестоимость</span> </div> <div class="linked-form__field__value "> <input name="CFV[917161]" class="linked-form__cf js-control-allow-numeric-negative text-input" type="numeric" value="" placeholder="..." autocomplete="off" /> </div> </div> В JS я профан, использовал такой код, но он именно обращается к ID Код function sum(){ var s1 = parseInt(document.getElementById("917157").value); var s2 = parseInt(document.getElementById("917159").value); var s3 = s1 + s2; var rez = document.getElementById("rez").innerText = s3; } document.getElementById("go").onclick = function() { sum(); } Сообщение отредактировал oregon - Пятница, 11 Мар 2022, 10:38:15
|
-SAM-, Спасибо сработало. Сможете еще подсказать пожалуйста, как выводить результат моментально в такое же поле input, при заполнении любого из 4 полей?
Код function sum(){ var s1 = parseInt(document.getElementsByName('CFV[917159]')[0].value); var s2 = parseInt(document.getElementsByName('CFV[917161]')[0].value); var s3 = parseInt(document.getElementsByName('CFV[917163]')[0].value); var s4 = parseInt(document.getElementsByName('CFV[917165]')[0].value); var s5 = s1 - s2 - s3 - s4; var rez = document.getElementById("rez").innerText = s5; } document.getElementById("go").onclick = function() { sum(); } Поле для результата называется CFV[917157] Вроде как obj.value = 'CFV[917157]' должно помочь, но не разберусь, как его здесь использовать. В JS плохо пока что разбираюсь Сообщение отредактировал oregon - Воскресенье, 13 Мар 2022, 15:43:30
|
Скрипт вообще не годиться значит. Функция срабатывает после нажатия на элемент с id="go", после результат обработки содержимого полей появляется в элементе с id="rez". По ходу нужно перезапускать функцию каждый раз, когда происходит событие onChange полей. И не понятно как оно вести себя будет, если какое-то из полей не заполнено (а еще идёт не сложение уже, а вычитание - значит может в каком-то поле оказаться большее значение, чем в предыдущем, что будет отрицательный результат). В общем, скрипт нужно писать конкретно под ваши нужды - это не ко мне.
|
| |||
| |||