Как заменить ввод полями textarea

В настоящее время я работаю над проектом html5, в котором есть много полей input, которые я хочу заменить на textarea.

Пример:

<input type = "text" id = "Questions" name = "texte1"/>
<input type = "text" id = "Questions" name = "texte2"/>
<input type = "text" id = "Questions" name = "texte3"/>

Есть 200 входов, которые я хочу изменить:

<textarea id = "Questions" name = "texte1"></textarea> 
<textarea id = "Questions" name = "texte2"></textarea> 
<textarea id = "Questions" name = "texte3"></textarea> 

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

Вам нужен критерий, который подскажет, какие входные данные необходимо заменить. Что у них общего? Также обратите внимание, что у вас не может быть более одного элемента на странице с одинаковым значением для id, поэтому отображаемый HTML-код недействителен.

connexo 19.09.2018 14:22

Хорошо, спасибо, мне лучше использовать class вместо id? И у всех у них есть все общее, кроме разных названий.

Oneal Revellin 19.09.2018 14:25

Вы пробовали использовать pug?

Yashu Mittal 19.09.2018 14:27

Я не знал, я сообщу мне об этом, спасибо.

Oneal Revellin 19.09.2018 14:31
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Введение в CSS
Введение в CSS
CSS является неотъемлемой частью трех основных составляющих front-end веб-разработки.
Как выровнять Div по центру?
Как выровнять Div по центру?
Чтобы выровнять элемент <div>по горизонтали и вертикали с помощью CSS, можно использовать комбинацию свойств и значений CSS. Вот несколько методов,...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Travel Booking Angular Template один из лучших Travel & Tour booking template in the world. 30+ валидированных HTML5 страниц, которые помогут...
1
4
87
1

Ответы 1

Вам нужен критерий, который подскажет, какие входные данные необходимо заменить. Что у них общего? Также обратите внимание, что у вас не может быть более одного элемента на странице с одинаковым значением для id, поэтому отображаемый HTML-код недействителен.

Итак, для примера кода я предполагаю, что все входные данные, которые необходимо заменить, имеют CSS-класс replace-me:

document.getElementById('replace').addEventListener('click', (e) => {
  const toReplace = [...document.querySelectorAll('.replace-me')]
  for (const input of toReplace) {
    const textarea = document.createElement('textarea')
    const parent = input.parentNode
    textarea.id = input.id
    textarea.name = input.name
    textarea.value = input.value
    parent.removeChild(input)
    parent.appendChild(textarea)
  }  
})
<div>
  <input class = "replace-me" type = "text" value = "1" id = "i1" name = "foo1" />
  <input class = "replace-me" type = "text" value = "2" id = "i2" name = "foo2" />
  <input class = "replace-me" type = "text" value = "3" id = "i3" name = "foo3" />
  <input class = "replace-me" type = "text" value = "4" id = "i4" name = "foo4" />
  <input class = "replace-me" type = "text" value = "5" id = "i5" name = "foo5" />
</div>
<button type = "button" id = "replace">Click to replace</button>

Другие вопросы по теме