Получить value из элемента листа JS [закрыт]

102
13 января 2021, 12:20
Закрыт. Этот вопрос не по теме. Ответы на него в данный момент не принимаются.

Хотите улучшить этот вопрос? Обновите вопрос так, чтобы он вписывался в тематику Stack Overflow на русском.

Закрыт 1 год назад.

Улучшить вопрос

Как правильно вытащить текст value из input, если нет id у этого элемента?

Пробовал так, но ощущение, что двигаюсь не туда:

var btn = document.createElement('button') 
document.body.appendChild(btn) 
 
const ttr = document.createElement("div"); 
 
      ttr.setAttribute("class", "saver"); 
 
      class test { 
        constructor(btn, inputs) { 
          this.btn = document.querySelector(btn); 
          this.inputs = document.querySelectorAll(inputs); 
 
          this.letes = ""; 
          this.main(); 
        } 
 
        main() { 
          this.inputs.forEach((item) => { 
            this.letes += item.innerHTML; 
          }); 
 
          this.btn.onclick = () => { 
            console.log(this.letes); 
          }; 
        } 
      } 
 
      const obj = new test("button", "input");

Answer 1

Несколько вариантов...

/* Первый инпут( [0] ), который находится внутри id="file_1" */ 
let x = document.getElementById('file_1').getElementsByTagName('input')[0]; 
 
/* Первый найденный инпут внутри id="file_1" */ 
let y = document.querySelectorAll('#file_1 input')[0]; 
 
/* Только первый на странице инпут, с value="test-bubu", тут нельзя добавлять [0], [1]...*/ 
let z = document.querySelector('input[value="test-bubu"]'); 
 
console.log( x.value ); 
console.log( y.value ); 
console.log( z.value );
<output id="list"> 
  <ol> 
    <ol id="file_1"> 
      <h3>FileName</h3> 
      <dl></dl> 
      <div class="textarea"> 
        <dt></dt> 
        <dt> 
          <input readonly value="test-bubu" type="text"> 
        </dt> 
      </div> 
    </ol> 
  </ol> 
</output>

Но не понятно, почему нельзя туда просто добавить id...

P.s. выкладывать код в виде картинки - садизм... не ннада так)))

Answer 2

Можно же поставить id и использовать document.getElementById

можно вот так var text = document.getElementsByTagName("input")[0]; var val=text.value; alert(val)

можно поставить на инпут событие onchange и в функцию посылать значение

READ ALSO
Найти,из введенных строк, строку с максимальной и минимальной длинной

Найти,из введенных строк, строку с максимальной и минимальной длинной

Здравствуйте есть вот такое задание: Пользователь вводит последовательность строк, состоящих из слов и чисел, разделенных пробеламиПризнак...

114
Как сделать первую букву каждого слова заглавной? (регулярные выражения JS)

Как сделать первую букву каждого слова заглавной? (регулярные выражения JS)

У меня есть код, который исправляет первую букву каждого слова в инпуте на заглавную букву, очень полезно для инпутов именТак вот данный код...

134
Объединить в один массив

Объединить в один массив

Как объединить все вложенные массивы в один и если будут повторяющиеся элементы, то убрать ихНапример 12,13 буду встречаться в итоговом едином...

113