2014-12-10 2 views
0

Предположим, у меня есть форма, в которой у меня есть текстовое поле, которое мне нужно добавить. Поле повторяется 100 раз.Заполнение формы с помощью JavaScript с консоли

... 
<textarea class="typeInStupid" data-text-type="execution-notes" 
placeholder="Notes go here..." rows="6" id="123"></textarea> 
... 
... 
<textarea class="typeInStupid" data-text-type="execution-notes" 
placeholder="Notes go here..." rows="6" id="124"></textarea> 
... 

Задача: с помощью браузера консоли и JavaScript, чтобы добавить один и тот же фрагмент текста (F.E. «BlaBla») для всех текстовых полей, так что:

... 
<textarea class="typeInStupid" data-text-type="execution-notes" 
placeholder="Notes go here..." rows="6" id="123">BlaBla</textarea> 
... 
... 
<textarea class="typeInStupid" data-text-type="execution-notes" 
placeholder="Notes go here..." rows="6" id="124">BlaBla</textarea> 
... 

Альтернативные эффективные решения - да пожалуйста. :) благодарим вас заранее.

ответ

2

Решение состоит в том, чтобы найти все поля textarea, а затем выполнить итерацию каждого из них и изменить его значение.

var textFields = document.querySelectorAll(".typeInStupid"); 
for (var i = 0; i < textFields.length; i++) { 
    textFields[i].value = "BlaBla"; 
} 

См. JSFiddle with DOM. Вам просто нужно скопировать код javascript в окно консоли браузера и выполнить его.

В качестве альтернативы, если вы используете JQuery,

$(".typeInStupid").each(function(){ 
    $(this).val("BlaBla"); 
}); 

, как показано на JSFiddle with JQuery

+0

Вы не должны использовать .getElementsByClassName, поскольку он не имеет поддержки IE8. Если вы идете по прямому маршруту JavaScript, вы должны заменить его на .querySelectorAll. Это поддерживается в IE8. В качестве альтернативы использование jQuery делает жизнь намного проще. – Epik

+0

Вы можете просто сделать это с помощью var textFields = document.querySelectorAll (". TypeInStupid"); что кажется немного проще. :) – Epik

Смежные вопросы