2014-09-05 67 views
0

我在iFrame中顯示我的聯繫表單(用於導向)。我需要做的是保存父網址,然後在提交表單(或在頁面加載)之前將此網址插入到隱藏字段中。我需要知道表單提交的網址是什麼。在提交IFRAME表單之前,將父網址保存到隱藏字段

我有代碼只工作是鉻控制檯。但是當我在父HTML把這個代碼的代碼是有,但沒有工作

jQuery(".gfiframe").contents().find("#gform_submit_button_1").click(function(){ 
    jQuery(".gfiframe").contents().find("#input_1_2").val('test'); 
}); 

獲取父URL我用

var $location = location.host; 
+0

我不認爲你可以從iframe中獲取父級的URL:http://stackoverflow.com/questions/3420004/ access-parent-url-from-iframe – jwatts1980 2014-09-05 13:46:37

+1

@ jwatts1980:鏈接的問題/答案僅在iframe位於不同域時適用,如果兩者都在同一個域中,則您可以讓它們通過'window.parent'或'window.top'進行交互 – 2014-09-05 13:49:09

回答

1

location.host相對於iframe中。相反,使用document.referrerjsFiddle Example

當iframe的發送HTTP頭部,父母給的iframe被作爲引薦,因此使用document.referrer將導致iframe的父URL

更新:在您的iframe,不是外部,使用jQuery將父url添加到正在提交的表單

$('input.parent_url').val(document.referrer); 
+0

嗨,對不起延遲。這並沒有幫助我,因爲ifame和父母在不同的地點。
現在我試圖使這項工作真正跨域消息傳遞與postMessage – 2014-09-16 07:43:59

+0

使用'document.referrer'的確如此例所示。 http://jsfiddle.net/djeeoecq/3/第一個警報是jsfiddle的iframe,第二個是iframe在的頁面的網址 – 2014-09-16 13:03:10

+0

您必須從iframe中保存url,而不是從父級訪問它 – 2014-09-16 13:04:02