не работает 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, время: 23:31. |