Ссылка на поле ввода в Iframe

В настоящее время моя страница: http://www.sagu.edu/spec-home

Конкретно форма нижнего колонтитула.

В настоящее время я пытаюсь получить доступ к полю электронной почты Field121.

В настоящее время у меня есть это:

var trackcmp_email = wufooFormm73jde715tzew1.document.getElementById("form227").Field121.value;

Но это показывает ошибки, говоря wufooFormm73jde715t

<div class="custom">
  <div id="wufoo-m73jde715tzew1">
    <iframe id="wufooFormm73jde715tzew1" class="wufoo-form-container" height="383" allowtransparency="true" frameborder="0" scrolling="no" style="width:100%;border:none" src="https://sagu.wufoo.com/embed/m73jde715tzew1/def/embedKey=m73jde715tzew1327047&amp;entsource=&amp;referrer=">&lt;a href="https://sagu.wufoo.com/forms/m73jde715tzew1/" title="html form"&gt;Fill out my Wufoo form!&lt;/a&gt;</iframe>
  </div>
  <script type="text/javascript">
    var m73jde715tzew1;
    (function(d, t) {
      var s = d.createElement(t),
        options = {
          'userName': 'sagu',
          'formHash': 'm73jde715tzew1',
          'autoResize': true,
          'height': '1022',
          'async': true,
          'host': 'wufoo.com',
          'header': 'show',
          'ssl': true
        };
      s.src = ('https:' == d.location.protocol ? 'https://' : 'http://') + 'www.wufoo.com/scripts/embed/form.js';
      s.onload = s.onreadystatechange = function() {
        var rs = this.readyState;
        if (rs)
          if (rs != 'complete')
            if (rs != 'loaded') return;
        try {
          m73jde715tzew1 = new WufooForm();
          m73jde715tzew1.initialize(options);
          m73jde715tzew1.display();
        } catch (e) {}
      };
      var scr = d.getElementsByTagName(t)[0],
        par = scr.parentNode;
      par.insertBefore(s, scr);
    })(document, 'script');
  </script>
  <script type="text/javascript">
    var trackcmp_email = wufooFormm73jde715tzew1.document.getElementById("form227").Field121.value;
    alert(trackcmp_email);
    var trackcmp = document.createElement("script");
    trackcmp.async = true;
    trackcmp.type = 'text/javascript';
    trackcmp.src = '//trackcmp.net/visit?actid=609412436&e=' + encodeURIComponent(trackcmp_email) + '&r=' + encodeURIComponent(document.referrer) + '&u=' + encodeURIComponent(window.location.href);
    var trackcmp_s = document.getElementsByTagName("script");
    if (trackcmp_s.length) {
      trackcmp_s[0].parentNode.appendChild(trackcmp);
    } else {
      var trackcmp_h = document.getElementsByTagName("head");
      trackcmp_h.length && trackcmp_h[0].appendChild(trackcmp);
    }
  </script>
</div>

zew1 is not defined.

Здесь iframe что я пытаюсь получить доступ:

<div id="wufoo-m73jde715tzew1"><iframe id="wufooFormm73jde715tzew1" class="wufoo-form-container" height="383" allowtransparency="true" frameborder="0" scrolling="no" style="width:100%;border:none" src="https://sagu.wufoo.com/embed/m73jde715tzew1/def/embedKey=m73jde715tzew1327047&amp;entsource=&amp;referrer=">&lt;a href="https://sagu.wufoo.com/forms/m73jde715tzew1/" title="html form"&gt;Fill out my Wufoo form!&lt;/a&gt;</iframe></div>

Я пытаюсь использовать поле электронной почты в фрейме wufoo в активной кампании, найденной здесь:

<script type="text/javascript">


var trackcmp_email = wufooFormm73jde715tzew1.document.getElementById("form227").Field121.value;
alert(trackcmp_email);
var trackcmp = document.createElement("script");
trackcmp.async = true;
trackcmp.type = 'text/javascript';
trackcmp.src = '//trackcmp.net/visit?actid=609412436&e='+encodeURIComponent(trackcmp_email)+'&r='+encodeURIComponent(document.referrer)+'&u='+encodeURIComponent(window.location.href);
var trackcmp_s = document.getElementsByTagName("script");
if (trackcmp_s.length) {
    trackcmp_s[0].parentNode.appendChild(trackcmp);
} else {
    var trackcmp_h = document.getElementsByTagName("head");
    trackcmp_h.length && trackcmp_h[0].appendChild(trackcmp);
}
</script>

2 ответа

Решение

Вам нужно будет ссылаться на iFrame следующим образом:

window.frames [ 'myIFrame'] document.getElementById('myIFrameElemId').

Итак, в вашем случае:

window.frames [ 'wufooFormm73jde715tzew1']. document.getElementById ('form227')

Пожалуйста, попробуйте следующий код:

document.getElementById('wufooFormm73jde715tzew1').contentWindow.document.getElementById("form227")

Это должно работать для встроенных фреймов. Но вы не сможете сделать это, если страница в iframe загружена из другого домена (например, google.com). Это из-за политики браузера.

Другие вопросы по тегам