Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / HTML, JavaScript, VBScript, CSS Новый топик    Ответить
 Элемент страницы не всегда доступен для getElementsByName  [new]
Andi_WEB
Member

Откуда:
Сообщений: 70
Добрый день!

Появилась потребность программно открыть стандартный диалог для выбора файла - по типу input type="file" name="FILE1" и т.д.
Кнопка и метка диалога видны на странице и работают.

Открываю страницу в браузере, в консоли браузера делаю:

var my_click = document.getElementsByName('FILE1'); 
my_click[0].click(); 


Работает, но только тогда, если я предварительно на странице встану на кнопку "Выбор файла" и по правой кнопке сделаю "Проверить". Т.е. такое ощущение, что страница после загрузки не полностью "интерпретирована" браузером.
В чем может быть дело, как думаете?
11 окт 21, 16:36    [22382350]     Ответить | Цитировать Сообщить модератору
 Re: Элемент страницы не всегда доступен для getElementsByName  [new]
вадя
Member

Откуда: Екатеринбург
Сообщений: 19509
Andi_WEB,

знаешь, что такое отладка?
11 окт 21, 18:42    [22382403]     Ответить | Цитировать Сообщить модератору
 Re: Элемент страницы не всегда доступен для getElementsByName  [new]
Andi_WEB
Member

Откуда:
Сообщений: 70
> знаешь, что такое отладка?
Нет. А что это ?
11 окт 21, 19:38    [22382414]     Ответить | Цитировать Сообщить модератору
 Re: Элемент страницы не всегда доступен для getElementsByName  [new]
вадя
Member

Откуда: Екатеринбург
Сообщений: 19509
Andi_WEB,

в браузере пкм - посмотреть код, точки останова и т.д.
11 окт 21, 20:28    [22382427]     Ответить | Цитировать Сообщить модератору
 Re: Элемент страницы не всегда доступен для getElementsByName  [new]
Andi_WEB
Member

Откуда:
Сообщений: 70
Разобрался, как победить, но так и не понял, почему без этого все-таки работало после "Проверить" в отладчике браузера. Не работало сначала, т.к. я просто не заметил, что нужный мне диалог лежит внутри ifarme.

Для нашего коллеги вадя, отладчик - не всегда панацея. В моем случае он всегда дает "undefined", но при работе с учетом iframe все-таки на конечный результат это не влияет - он верный. Впрочем, к JS я обращаюсь редко, примерно раз в год. Но прикольная штука, надо признать, прикольная... Хотя Python пожалуй все же побыстрее будет.

Сообщение было отредактировано: 11 окт 21, 23:15
11 окт 21, 23:26    [22382448]     Ответить | Цитировать Сообщить модератору
 Re: Элемент страницы не всегда доступен для getElementsByName  [new]
вадя
Member

Откуда: Екатеринбург
Сообщений: 19509
Andi_WEB,

есть такие команды как console.log
они позволяют проследить за порядком выполнения.....

автор
Для нашего коллеги вадя, отладчик - не всегда панацея
всегда, главное уметь пользоваться.

Сообщение было отредактировано: 12 окт 21, 05:55
12 окт 21, 06:03    [22382468]     Ответить | Цитировать Сообщить модератору
 Re: Элемент страницы не всегда доступен для getElementsByName  [new]
Andi_WEB
Member

Откуда:
Сообщений: 70
> есть такие команды как console.log

А вы не могли бы привести пример правильного использования console.log для отладки

var my_click = document.getElementsByName('FILE1'); 
my_click[0].click(); 


?
12 окт 21, 09:56    [22382510]     Ответить | Цитировать Сообщить модератору
 Re: Элемент страницы не всегда доступен для getElementsByName  [new]
вадя
Member

Откуда: Екатеринбург
Сообщений: 19509
вот так
var my_click = document.getElementsByName('FILE1'); 
console.log(my_click);
my_click[0].click(); 

и смотришь , что выведет в консоль
12 окт 21, 10:46    [22382536]     Ответить | Цитировать Сообщить модератору
Все форумы / HTML, JavaScript, VBScript, CSS Ответить