2014-10-31 44 views
-1

當前我的頁面:http://www.sagu.edu/spec-home在Iframe中引用字段輸入

具體爲頁腳形式。

我正在嘗試訪問電子郵件字段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項目IFRAME電子郵件字段到活動活動在這裏找到:

<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> 

回答

1

您將需要參考的iFrame如下所示:

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

所以你的情況:

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

+0

不知道這個錯誤可能是什麼? Uncaught TypeError:無法讀取第1041行未定義的屬性'document' – saguweb 2014-10-31 19:11:47

+0

由於user1611414如下所述,可能是'document'無效 - 所以在.document之前使用.contentWindow。document.getElementById('wufooFormm73jde715tzew1')。contentWindow .document.getElementById( 「form227」) – briscoea 2014-11-03 17:26:55

1

請嘗試下面的代碼:

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

它應該適用於嵌入式iframe。但是,如果iframe中的頁面是從其他域(例如google.com)加載的,則無法執行此操作。這是因爲瀏覽器的政策。