使用get in javascript将数据发送到iframe

时间:2012-07-27 10:14:14

标签: php javascript jquery codeigniter iframe

我在html中创建了一个按钮

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

并使用jquery onclick事件并创建iframe,我想将lat,long和title发送到iframe并创建动态地图但我发送获得10%折扣作为副标题,我得到以下错误< / p>

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。我不想使用表单并通过post方法发送数据.. 不使用表格我可以将数据发布到iframe

2 个答案:

答案 0 :(得分: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>');

在codeigniter代码中,您将检索它们:

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

答案 1 :(得分:1)

您可以从父/容器页面调用iframe中的javascript函数。因此,如果您在iframe页面中编写一个以数据作为参数的函数,那么您可以从包含iframe的主页面调用它。

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