2013-10-12 37 views
0

您好我有一個表單,我用jQuery給一個值提交按鈕,它工作正常。如何在iframe中編輯表格

jQuery('#frm_f_container.with_frm_style .submit input[type="submit"]').val(''); 

現在窗體代碼被放置在wp super pop up pro內。這是一個彈出插件包含IFRAME當我與螢火蟲

同樣的jQuery是沒有工作,所以我試圖contents()作爲建議的iframe,但是這也不能在這裏設置按鈕值檢查時,我試圖

jQuery('.sppro_cboxIframe').contents().find('#frm_f_container.with_frm_style .submit input[type="submit"]').val(''); 
代碼

這裏.sppro_cboxIframe是放置的iframe這樣

<iframe class="sppro_cboxIframe" frameborder="0" name="sppro_cbox1381566909072" src='url'> 

當我查看源我不能看到的iframe像上面的類。

現在如何更改或增加表單中的值。任何幫助將感恩。

+0

[同源](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Same_origin_policy_for_JavaScript)? –

+0

是都來自同一個來源(網站) – rram

+0

您的代碼看起來不錯,必須是別的 – Christophe

回答

0

您將無法使用javascript從iframe外部操作iframe中的元素。看到這個答案對於同源策略:看

jQuery/JavaScript: accessing contents of an iframe

檢查該插件可以讓你在你的jQuery傳遞到iframe中。這是您操作iframe中的元素的唯一方法。

+0

謝謝我試圖給這個腳本在插件html editor.when我保存我看到腳本開始與'<![CDATA ['' – rram

+0

這兩種形式和我嘗試的腳本都來自同一個網站。 – rram

0

假設的jQuery定義爲$的內,路過same origin,那裏面在頁面開始加載,你可以得到一個HTMLIFrameElement窗口參考通過它的contentWindow財產。

// get the <iframe> and then it's contentWindow 
var iWin = document.getElementsByClassName('sppro_cboxIframe')[0].contentWindow; 
// now to use jQuery inside <iframe> 
iWin.$.find('#frm_f_container.with_frm_style .submit input[type="submit"]').val(''); 
+0

'TypeError:document.getElementsByClassName(...)[0]是未定義的。當我從瀏覽器中查看源代碼時,我無法找到帶有此類的iframe。這就是錯誤來臨的原因。我不知道。感謝幫助@Paul S – rram

0

你的代碼是正確的,這裏是演示:http://jsfiddle.net/T86yw/

jQuery('.sppro_cboxIframe').contents().find('#frm_f_container.with_frm_style .submit input[type="submit"]').val('New Value'); 

的問題是其他地方。正如你所說,兩個頁面具有相同的來源,另一個要檢查的是在運行代碼時是否已經加載了iframe。

+0

感謝當我查看源代碼ctrl + ui can無法看到這個iframe代碼。是否導致問題? @Christophe – rram

+0

你是在談論我的演示,還是你的網頁? – Christophe

+0

我正在討論我的頁面 – rram