Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Проблема с getElementsByName - Help! (https://javascript.ru/forum/dom-window/25624-problema-s-getelementsbyname-help.html)

lamer 10.02.2012 19:05

Проблема с getElementsByName - Help!
 
И снова здравствуйте)
Столкнулся с проблемой, не работает getElementsByName, а реализовать по средствам getElementById структура сайта не позволяет. Подскажите плиз, что я делаю не так ?

<html>

<head>
<script type="text/javascript">
function logIn() {
var l = document.getElementsByName("login");
var p = document.getElementsByName("pass");
if ((l.value=="") || (p.value==""))
{alert("Заполните поля.");return false;}
else
{alert("Ошибка.");return false;}
}
</script>
</head>

<body>
<input id="login" name="login" type="text">
<input id="pass" name="pass" type="password">
<input type="button" value="Login" onclick="logIn()">
</body>

</html>


т.е. мне нужно привязать функцию проверки заполнения полей по средствам getElementsByName, это легко можно сделать с помощью getElementById но мне этот вариант не подходит, нужна привязка к name="login" и name="pass"
Подскажите что я делаю не так ?

nyols 10.02.2012 19:18

var l = document.getElementsByName("login")*!*[0]*/!*;
var p = document.getElementsByName("pass")*!*[0]*/!*;

lamer 10.02.2012 19:32

Цитата:

Сообщение от nyols (Сообщение 156600)
var l = document.getElementsByName("login")*!*[0]*/!*;
var p = document.getElementsByName("pass")*!*[0]*/!*;

Ура работает :dance:
Только не совсем понятно что такое [0] ?

Seva1986 10.02.2012 19:48

Цитата:

Сообщение от lamer
Только не совсем понятно что такое [0] ?

превый элемент в коллекции которую возвращает метод getElementsByName() нумерация с нуля начинаеться.
без индекса, в данном случае нуля, вернётся не элемент а вся колекция (типа масив) элементов содержащих соответсвующий атрибут name.

lamer 10.02.2012 19:56

Цитата:

Сообщение от Seva1986 (Сообщение 156607)
превый элемент в коллекции которую возвращает метод getElementsByName() нумерация с нуля начинаеться.
без индекса, в данном случае нуля, вернётся не элемент а вся колекция (типа масив) элементов содержащих соответсвующий атрибут name.

Я беру шаблон и привязываю к нему этот скрипт на проверку заполнения поля, но в шаблоне не работает он :(
Видимо это из-за номера элемента, я ставлю [0]
Как узнать или посчитать какой именно это номер элемента чтоб в [] указать правильную цифру ?

Seva1986 10.02.2012 21:37

Цитата:

Сообщение от lamer
Как узнать или посчитать какой именно это номер элемента чтоб в [] указать правильную цифру ?

в дом модели с верху документа по порядку. только не все подряд а только те что с неймом нужным.

Seva1986 10.02.2012 21:45

А что не работает?
<!DOCTYPE HTML>
<html lang="ru">
<head>
    <meta charset="UTF-8"/>
    <title></title>
    <script type="text/javascript">
        function logIn() {
            var l = document.getElementsByName("login")[0];
            var p = document.getElementsByName("pass")[0];

            if ((l.value == "") || (p.value == "")) {
                alert("Заполните поля.");
                return false;
            }
            else {
                alert("Ошибка.");
                return false;
            }
        }
    </script>
</head>

<body>
<input id="login" name="login" type="text">
<input id="pass" name="pass" type="password">
<input type="button" value="Login" onclick="logIn()">
</body>

</html>

lamer 11.02.2012 15:29

Цитата:

Сообщение от Seva1986 (Сообщение 156631)
в дом модели с верху документа по порядку. только не все подряд а только те что с неймом нужным.

Все работает в моем примере, просто подобный скрипт мне нужно вставлять в разные шаблоны, а там много разных форм и т.д. вот я не могу понять как мне определять что нужно писать в [] тут ?
Вот я открываю свой шаблон смотрю на код, как мне определить какой номер элемента в DOM модели ?

П.С. Сорри за туфтографию =)

KingStar 12.02.2012 16:35

а почему тебе не позваляет использовать getElementById структура, если у тебя вполне нормально указаны id="login" и id="pass" ??? Что за стопор у тебя???

Честно, не вижу никакой загвоздки

lamer 12.02.2012 16:51

Цитата:

Сообщение от KingStar (Сообщение 156942)
а почему тебе не позваляет использовать getElementById структура, если у тебя вполне нормально указаны id="login" и id="pass" ??? Что за стопор у тебя???

Честно, не вижу никакой загвоздки

Я отписал все выше, видимо вы не внимательно читали.

Цитата:

Сообщение от lamer (Сообщение 156744)
просто подобный скрипт мне нужно вставлять в разные шаблоны, а там много разных форм и т.д.

Вопрос остается, подскажите плиз как определить номер элемента в DOM модели ?


Часовой пояс GMT +3, время: 05:34.