не работает getelementsbyname
Всем привет
Подскажите почему не работает скрипт, при поиске по name, но работает по id.
<script>
document.addEventListener('DOMContentLoaded', function(){
function charCount(text){
return text.length;
}
function g(id){
return document.getElementById(id);
}
g('input').onkeyup=function(){
g('label').innerHTML=charCount(this.value);
}
}, false);
</script>
<textarea id='input'></textarea>
<label id='label'>0</label>
Нерабочий вариант, что с ним?
<script>
document.addEventListener('DOMContentLoaded', function(){
function charCount(text){
return text.length;
}
function g(name){
return document.getElementsByName(name);
}
g('name').onkeyup=function(){
g('label').innerHTML=charCount(this.value);
}
}, false);
</script>
<textarea name="name" id='input'></textarea>
<label id='label'>0</label>
2) Второй вопрос, как запускать скрипт только при определенном урле или же если в урле содержится заданный текст Спасибо! |
пардон, создал тему не в том разделе.
Перенесите пожалуйста https://javascript.ru/forum/events/ |
в строке 11 нужно указать индекс элемента
g('name')[0].onkeyup=function(){
строка 12. нет у вас такого name="label" 2 вопрос, обернуть скрипт в
if(/ваш_текст/.test(document.lacation.href)){
//ваш скрипт
}
|
Цитата:
https://codepen.io/ushembo/pen/MPKREW но все еще не работает. А как узнать индекс нужного элемента в огромном файле? |
ushembo,
строка 12. тоже нужен индекс Цитата:
|
document.addEventListener('DOMContentLoaded', function(){
document.querySelector('[name="NAME"]').setAttribute('id','countTitle');
document.querySelector('[name="DESC"]').setAttribute('id','countDesc');
var countT ='<label style="color:red;border: 1px solid #a33f19; padding: 3px; font-weight: 600; margin-left: 5px; font-size: 17px;" id="labelTitle">0</label>';
var countD ='<label style="color:red;border: 1px solid #a33f19; padding: 3px; font-weight: 600; margin-left: 5px; font-size: 17px; position: absolute;" id="labelDesc">0</label>';
document.getElementById('countTitle').insertAdjacentHTML("afterEnd", countT);
document.getElementById('countDesc').insertAdjacentHTML("afterEnd", countD);
function charCount(text){
return text.length;
}
function g(id){
return document.getElementById(id);
}
g('countTitle').onkeyup=function(){
g('labelTitle').innerHTML=charCount(this.value);
}
g('countDesc').onkeyup=function(){
g('labelDesc').innerHTML=charCount(this.value);
}
}, false);
Сделал так, все работает отлично. Правильно сделал? Или дикий костыль? |
Сейчас планирую перекрашивать label если символов больше 50 для countTitle и 150 для countDesc.
Не могли бы дать пример как это можно реализовать. Или на нужную документацию направить, хотелось бы разобраться |
| Часовой пояс GMT +3, время: 02:17. |