获取iframe中输入字段的值
我仅使用Javascript创建表单。我正在尝试使用Javascript获取位于中的输入字段的值iframe
。是否有可能获得内的字段的值iframe
?
回答:
是的,即使该站点来自另一个域,也应该可行。
例如,在我网站的HTML页面中,我有一个iFrame,其内容来自另一个网站。iFrame内容是单个选择字段。
我需要能够在我的网站上读取所选的值。换句话说,我需要使用我自己的应用程序中另一个域的选择列表。我无法控制任何服务器设置。
因此,起初我们可能会想做这样的事情(简化):
<iframe name='select_frame' src='http://www.othersite.com/select.php?initial_name=jim'></iframe><input type='button' name='save' value='SAVE'>
<select id='select_name'> <option value='john'>John</option>
<option value='jim' selected>Jim</option>
</select>
$('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
在您自己的站点上创建一个脚本(例如:在当前目录中),其内容类似于以下内容:
<?php $url = "http://www.othersite.com/select.php?" . $_SERVER['QUERY_STRING'];
$html_select = file_get_contents($url);
echo $html_select;
?>
<iframe name='select_frame' src='select_local.php?initial_name=jim'></iframe><input type='button' name='save' value='SAVE'>
现在,您的浏览器应该认为它正在从同一域加载iFrame内容。
以上是 获取iframe中输入字段的值 的全部内容, 来源链接: utcz.com/qa/410902.html