TEXTAREA получение value с помощью JS

105
04 февраля 2022, 07:30
<form id="customer__form" action="#">
        <label for="name">Введите ФИО</label>
        <br />
        <input type="text" name="name" maxlength="50" placeholder="ФИО" id="customer__name" checked>
        <br />
        <br />
        <label for="description">Описание</label>
        <br />
        <textarea name="description" id="customer__description" cols="100" rows="10" maxlength="1000" checked></textarea>
        <br />
        <br />
        <label for="data">Введите дату</label>
        <br />
        <input type="week" name="data" id="customer__data" checked>
        <br />
        <input type="reset" id="reset">
        <br />
        <input type="submit" id="done">
    </form>

const customerForm = document.getElementById('customer__form');
const obj = {};
for(const elem of customerForm.elements){
        if(elem.tagName === 'INPUT' && elem.checked){
            obj[elem.name] = elem.value;
        }
    }
    bodyLog.push(obj);
    console.log(bodyLog);

Выводит только это (input), а textarea нет {name: "Имя Фамилия О", data: "2020-W02"}

Answer 1
document.getElementById('customer__form').value;
Answer 2

function g() { 
  var cf = document.getElementById('customer__form') 
  return Object.fromEntries( 
    Array.prototype.filter.call(cf.querySelectorAll('input'), 
      (el) => el.checked 
    ).concat(cf.querySelector('textarea')).map((el) => [el.name, el.value]) 
  ) 
} 
 
// только для просмотра 
document.getElementById('done').addEventListener('click', (e) => { 
  e.preventDefault() 
  console.log(g()) 
})
<form id="customer__form" action="#"> 
  <label for="name">Введите ФИО</label> 
  <br /> 
  <input type="text" name="name" maxlength="50" placeholder="ФИО" id="customer__name" checked> 
  <br /> 
  <br /> 
  <label for="description">Описание</label> 
  <br /> 
  <textarea name="description" id="customer__description" cols="100" rows="10" maxlength="1000" checked></textarea> 
  <br /> 
  <br /> 
  <label for="data">Введите дату</label> 
  <br /> 
  <input type="week" name="data" id="customer__data" checked> 
  <br /> 
  <input type="reset" id="reset"> 
  <br /> 
  <input type="submit" id="done"> 
</form>

Answer 3

1)Добавляешь имя форме

<form ***name="cF"*** id="customer__form">
        <label for="name">Введите ФИО</label>
        <br />
        <input type="text" name="name" maxlength="50" placeholder="ФИО" id="customer__name" checked>
        <br />
        <br />
        <label for="description">Описание</label>
        <br />
        <textarea name="description" id="customer__description" cols="100" rows="10" maxlength="1000" checked></textarea>
        <br />
        <br />
        <label for="data">Введите дату</label>
        <br />
        <input type="week" name="data" id="customer__data" checked>
        <br />
        <input type="reset" id="reset">
        <br />
        <input type="submit" id="done">
    </form>

2)Создаешь новую переменную для textarea и обращаешься к нему вот так: let customerDescription2 = document.cF.description.value; 3)Потом вводишь его в объект: obj[elem.name] = elem.value; Полный код js:

//Получение всех элементов
    const obj = {}; 
    for(const elem of customerForm.elements){
        if(elem.tagName === 'INPUT' && elem.checked){
            obj[elem.name] = elem.value;
        }
        ***let customerDescription2 = document.cF.description.value;
        obj[elem.name] = elem.value;***
    }
    bodyLog.push(obj);
    console.log(bodyLog);
READ ALSO
Кастомная стилизация input,select,datalist

Кастомная стилизация input,select,datalist

При верстке странички наткнулся на один интересный элемент - input,select или database

95
api музыкального сайта

api музыкального сайта

Есть ли такого Сервис который дает API чтобы получить новую музыку и сохранять их на сервере, в этом деле новичок много не знаюПосмотрел что...

92
&quot;Вспышка&quot; background-color при клике на кнопке

"Вспышка" background-color при клике на кнопке

как сделать чтобы при клике на кнопке button background элемента <div id="div1" class="div1"></div> плавно стал на 05 секунд background-color:red; и затем вернулся бы как...

543
аналог Angular FormControl.setValue во Vue.js

аналог Angular FormControl.setValue во Vue.js

Недавно начал учить Vuejs

77