当前位置: 首页 > 面试题库 >

获取iframe中输入字段的值

柳绪
2023-03-14
问题内容

我仅使用Javascript创建表单。我正在尝试使用Javascript获取位于中的输入字段的值iframe。是否有可能获得内的字段的值iframe


问题答案:

是的,即使该站点来自另一个域,也应该可行。

例如,在我网站的HTML页面中,我有一个iFrame,其内容来自另一个网站。iFrame内容是单个选择字段。

我需要能够在我的网站上读取所选的值。换句话说,我需要使用我自己的应用程序中另一个域的选择列表。我无法控制任何服务器设置。

因此,起初我们可能会想做这样的事情(简化):

我网站上的HTML:

<iframe name='select_frame' src='http://www.othersite.com/select.php?initial_name=jim'></iframe>
<input type='button' name='save' value='SAVE'>

iFrame的HTML内容(从select.php另一个域加载):

<select id='select_name'>
    <option value='john'>John</option>
    <option value='jim' selected>Jim</option>
</select>

jQuery:

$('input:button[name=save]').click(function() {
    var name = $('iframe[name=select_frame]').contents().find('#select_name').val();
});

但是,当我尝试读取该值时,我收到此javascript错误:

封闭原点“的帧访问的帧与原籍。协议,域和端口必须匹配。

为了解决这个问题,您似乎可以 从自己站点中的脚本
间接获取iFrame的资源,并使用类似file_get_contents()curl方法使该脚本从其他站点读取内容。

因此,select_local.php在您自己的站点上创建一个脚本(例如:在当前目录中),其内容类似于以下内容:

select_local.php的PHP内容:

<?php
    $url = "http://www.othersite.com/select.php?" . $_SERVER['QUERY_STRING'];
    $html_select = file_get_contents($url);
    echo $html_select;
?>

还修改HTML以调用此本地(而不是远程)脚本:

<iframe name='select_frame' src='select_local.php?initial_name=jim'></iframe>
<input type='button' name='save' value='SAVE'>

现在,您的浏览器应该认为它正在从同一域加载iFrame内容。



 类似资料:
  • 问题内容: 我有以下React组件: 控制台给了我-任何想法这段代码有什么问题吗? 问题答案: 您应该在类MyComponent下使用构造函数扩展React.Component 然后您将获得标题的结果

  • 当在输入字段中按下enter键时,我使用这个答案中的指令来运行一个函数。 如何传递输入字段到指令调用的函数?或者将输入字段元素传递给函数,以在检索后清除值。 HTML JS公司

  • 问题内容: 我有一个输入字段,如下所示: 我想获取输入字段的值并将其分配给会话。如何使用PHP或jQuery做到这一点? 问题答案: 使用PHP 或超全局变量通过HTML标签的名称来检索输入标签的值。 例如,更改表单中的方法,然后通过输入名称回显该值: 使用方法: 要显示值: 使用方法: 要显示值:

  • 我有一个输入字段如下: 我想获取输入字段值,并将其分配给会话。如何使用PHP或jQuery实现这一点?

  • 问题内容: 我有一个包含许多输入字段的表单。 当我使用jQuery捕获Submit form事件时,是否可以在关联数组中获取该表单的所有输入字段? 问题答案: $(‘#myForm’).submit(function() { // get all the inputs into an array. var $inputs = $(‘#myForm :input’); 这是您可以使用的另一种方法 请

  • 各位剧作家专家您好, 我有这个输入字段 我尝试了以下JAVA代码: 它不起作用:-(但我可以填充 你能帮忙并有个主意吗? 提前谢谢你。 干杯Loren