Предварительно заполните значения в форме iframe с помощью Javascript / jQuery - PullRequest
0 голосов
/ 04 ноября 2018

Я пытаюсь предварительно заполнить значения внешнего виджета, который он вставляет на страницу.

Согласно документации виджета, можно вручную создать определенный виджет с предварительно заполненными значениями, но, поскольку я могу иметь сотни возможных значений, это будет очень трудоемким и не масштабируемым.

Поэтому я пытаюсь сделать это с помощью Javascript или jQuery.

Как только внешний виджет вставлен, его HTML выглядит так:

<ins class="bookingaff" ...>
    <iframe src="...>

        #document
        <!doctype html>
        <html>
            ...
            <form id="..." ...>
                ...
                <input class="searchbox__inp ..." type="search" id="b_destination" name="ss" value="" ...">

            </form>

        </html>

     </iframe>
</ins>

Я пробовал несколько вещей, но ничего не работает. Вот пример:

<script>

  var widgetDOMs = document.getElementsByClassName('bookingaff');
  var widgetDOM = widgetDOMs[0]
  console.log('widgetDOM:', widgetDOM); //until here OK, element found. Console is showing the tree structure written above

  //with javascript
  var innerDoc = widgetDOM.getElementsByClassName('searchbox__inp');
  console.log('innerDoc:', innerDoc); // innerDoc: HTMLCollection []

  //with jQuery
  var innerDoc = $(widgetDOM).find('.searchbox__inp');
  console.log('innerDoc:', innerDoc); // length of innerDoc element is 0

  //once the elements inside the document widgetDOM can be accessed, I guess adding the value to the form would be straightforward...

</script>

Что бы я ни пытался, мне не удалось получить доступ ни к какому элементу внутри документа, вставленного с iframe. Как я могу это сделать?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...