• Страница 1 из 1
  • 1
Модератор форума: JonMagon  
Сообщество uCoz » Вебмастеру » JavaScript, Flash и прочие технологии » JavaScript » Обращение к input без id (Описание темы)
Обращение к input без id
oregon
Сообщений: 123
Репутация: 1

Сообщение # 1 | 10:38:00
Доброго времени. Возникла проблема, нужно в 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-
Сообщений: 156
Репутация: 46

Сообщение # 2 | 04:10:47
document.getElementsByName('имя')[0].value

Ex-ID: 179703 [11 Авг 2012]
oregon
Сообщений: 123
Репутация: 1

Сообщение # 3 | 15:27:01
-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
-SAM-
Сообщений: 156
Репутация: 46

Сообщение # 4 | 02:43:24
Скрипт вообще не годиться значит. Функция срабатывает после нажатия на элемент с id="go", после результат обработки содержимого полей появляется в элементе с id="rez". По ходу нужно перезапускать функцию каждый раз, когда происходит событие onChange полей. И не понятно как оно вести себя будет, если какое-то из полей не заполнено (а еще идёт не сложение уже, а вычитание - значит может в каком-то поле оказаться большее значение, чем в предыдущем, что будет отрицательный результат). В общем, скрипт нужно писать конкретно под ваши нужды - это не ко мне.

Ex-ID: 179703 [11 Авг 2012]
Сообщество uCoz » Вебмастеру » JavaScript, Flash и прочие технологии » JavaScript » Обращение к input без id (Описание темы)
  • Страница 1 из 1
  • 1
Поиск: