【问题标题】:Send data to iframe using get in javascript在 javascript 中使用 get 将数据发送到 iframe
【发布时间】:2012-07-27 10:14:13
【问题描述】:

我在html中创建一个按钮

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

并使用 jquery onclick 事件并创建 iframe,我想将 lat、long 和标题发送到 iframe 并创建动态地图,但我发送 get 10 % discount 作为副标题,我收到以下错误

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

【问题讨论】:

    标签: php javascript jquery codeigniter iframe


    【解决方案1】:

    在查询字符串中传递它们:

    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");
    

    【讨论】:

    • 公共函数 frame_stimulator() { $data['lat']=$this->input->get("ad_lat"); $data['lon']=$this->input->get("ad_lng"); $data['address']=$$this->input->get("ad_subtitle"); } 它给出了 500 个内部服务器错误
    • @rash111 为什么你有$$this-&gt;input-&gt;get?为什么是2美元?只尝试一个:public function frame_stimulator() { $data['lat'] = $this-&gt;input-&gt;get("ad_lat"); $data['lon'] = $this-&gt;input-&gt;get("ad_lng"); $data['address'] = $this-&gt;input-&gt;get("ad_subtitle"); }
    • 对不起兄弟,谢谢它正在工作,但是当我在输入字段中更改纬度,长时我还有另一个问题,然后再次单击模拟按钮它显示上一个纬度,长图..为什么会发生这种情况
    • 公共函数 frame_stimulator() { $data['lat']=$this->input->get("ad_lat"); $data['lon']=$this->input->get("ad_lng"); $data['address']=$this->input->get("ad_subtitle"); $this->load->view('frame_stimulator',$data); } 这里我接受数据并传递给视图
    【解决方案2】:

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

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

    【讨论】:

    • 这只有在父级和 iframe 都来自同一个域时才有可能。
    • @Christoph 绝对正确。我在iframe src 中看到了base_url(),不想提及。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-01-11
    • 1970-01-01
    • 1970-01-01
    • 2013-10-03
    • 1970-01-01
    • 1970-01-01
    • 2013-01-02
    相关资源
    最近更新 更多