2012-07-27 51 views
0

我在HTML發送數據使用的JavaScript

<input type="button" value="Simulate" class="submit_btn" id="stimulate" /> 

和使用jQuery onclick事件創建一個按鈕來進入iframe和創造的iframe,我想緯度送,長和標題給iframe和創建動態地圖,但我發送得到10%的折扣作爲副標題,我得到以下錯誤

GET http://domain name/name of controller/name of function/57.643821505750964/12.180534033203116//get%2010%%20discount 400 (Bad Request) 



$("#stimulate").click(function() { 
var ad_lng = document.getElementById("longclicked").value; 
var ad_subtitle = document.getElementById("ad_subtitle").value; 
var ad_lat = document.getElementById("latclicked").value; 

$('#iframeHolder').html('<iframe id="iframe" src="<?php echo base_url(); ?>index.php/admin/frame_stimulator/'+ad_lat+'/'+ad_lng+'/'+ad_subtitle+'" width="700" height="550" scrolling="no" frameborder="0"></iframe>'); 
} 

我怎樣才能將數據發送到iframe中。我不想使用的形式,並以郵寄方式,而不使用形式,我可以張貼發送數據.. 數據的iframe

回答

3

通過他們的查詢字符串:

var ad_lng = encodeURIComponent(document.getElementById("longclicked").value); 
var ad_subtitle = encodeURIComponent(document.getElementById("ad_subtitle").value); 
var ad_lat = encodeURIComponent(document.getElementById("latclicked").value); 

$('#iframeHolder').html('<iframe id="iframe" src="<?php echo base_url(); ?>index.php/admin/frame_stimulator?ad_lat='+ad_lat+'&ad_lng='+ad_lng+'&ad_subtitle='+ad_subtitle+'" width="700" height="550" scrolling="no" frameborder="0"></iframe>'); 

CI中的代碼,你會找回它們:

$lat = $this->input->get("ad_lat"); 
$lng = $this->input->get("ad_lng"); 
$subtitle = $this->input->get("ad_subtitle"); 
+0

公共函數frame_stimulator() \t { \t \t $ \t數據[ 'LAT'] = $這個 - >輸入 - >的get( 「ad_lat」); \t \t $ data ['lon'] = $ this-> input-> get(「ad_lng」); \t \t $ data ['address'] = $$ this-> input-> get(「ad_subtitle」); }它給500內部服務器錯誤 – rash111 2012-07-27 10:26:33

+0

@ rash111爲什麼你有'$$ this-> input-> get'?爲什麼2美元?嘗試它只有一個:'公共功能frame_stimulator(){ \t $ data ['lat'] = $ this-> input-> get(「ad_lat」); \t $ data ['lon'] = $ this-> input-> get(「ad_lng」); \t $ data ['address'] = $ this-> input-> get(「ad_subtitle」); }' – Esailija 2012-07-27 10:27:11

+0

對不起,兄弟,謝謝它正在工作,但我有另一個問題,當我改變經緯度,長輸入字段,並再次點擊模擬按鈕,它顯示以前拉特,長地圖..爲什麼這是發生 – rash111 2012-07-27 10:33:23

1

您可以從父/容器頁面調用iframe中的javascript函數。因此,如果您在將數據作爲參數的iframe頁面中編寫函數,則可以從包含iframe的主頁面調用該函數。

檢查:Invoking JavaScript code in an iframe from the parent page

+0

這是唯一可能的,如果parent和iframe都來自同一個域。 – Christoph 2012-07-27 10:29:26

+0

@Christoph絕對真實。我在'iframe src'中看到'base_url()',並且不想提及這一點。 – 2012-07-27 10:33:25