#javascript #google-chrome
Вопрос:
Нужно заполнить текстовое поле из формы, но не удается получить доступ к полю. Мой сценарий повторяется все 6 секунд, поэтому, как только поле ввода станет видимым, его следует найти?
Есть идеи? Спасибо всем
скрипт:
$(document).ready(function() {
var a = document.getElementById("field_7");
var b = document.getElementById("postbox-container-1");
if(a)
console.log("field_7 exists");
else
console.log("field_7 does not exist");
if(b)
console.log("postbox-container-1 exists");
else
console.log("postbox-container-1 does not exist");
setTimeout(arguments.callee, 6000);
})();
HTML:
<div class="required zip-code control-group active valid">
<label class="control-label" for="field_7">Postal code / ZIP</label>
<div class="controls" name="controls"><input maxlength="10" type="text" id="field_7"></div></div>
Комментарии:
1. Скрыто ли отображение поля или его нет?
2. Привет, Мартин. Судя по html-коду, ни то, ни другое. НО полей нет в окне просмотра и они отображаются только после нажатия кнопки — вероятно, какой-то Ajax. Я действительно вижу элементы, инспектор тхо.
3. Подтверждают ли ваши журналы их существование, как показано в примере кода?
4. Подход, подобный этому, не сработает для вас? codepen.io/mbacode/pen/OJgYRJJ
5. Элемент #fulfillomat, который доступен и виден сразу после загрузки страницы, подтвержден, но #field_7, который виден только после нажатия кнопки, нет. Поля адресов, к которым мне нужно получить доступ, находятся в «пошаговом процессе оформления заказа» на этой странице, загруженной в боковую панель справа. Но, как уже было сказано, в инспекторе элементов я вижу поле field_7 после загрузки страницы. Действительно странно, так как я много раз делал подобные вещи и не могу заставить это работать здесь. Спасибо