我创建与只有JavaScript的形式。 我试图使用JavaScript来获取这是一个内部的输入字段的值iframe
。 是否有可能得到一个字段是一个内部的价值iframe
?
Answer 1:
是的,它应该是可能的,即使该网站是从另一个域。
举例来说,在我的网站上的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错误,当我尝试读取值:
封闭原点“的帧http://www.myownsite.com访问的帧与原籍”“ http://www.othersite.com ”。 协议,域和端口必须匹配。
为了解决这个问题,似乎可以间接来源自己的网站从脚本内嵌框架,并有脚本中使用类似的方法从其他站点阅读其内容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的内容。
Answer 2:
<iframe id="upload_target" name="upload_target">
<textarea rows="20" cols="100" name="result" id="result" ></textarea>
<input type="text" id="txt1" />
</iframe>
您可以通过JQuery的获取价值
$(document).ready(function(){
alert($('#upload_target').contents().find('#result').html());
alert($('#upload_target').contents().find('#txt1').val());
});
仅在同一个域中的链接工作
Answer 3:
document.getElementById("idframe").contentWindow.document.getElementById("idelement").value;
Answer 4:
如果没有的iFrame我们可以通过JQuery的做到这一点,但它会给你只HTML页面源和没有动态链接或HTML标签就会显示出来。 几乎相同的PHP解决方案,但在JQuery中:)代码---
var purl = "http://www.othersite.com";
$.getJSON('http://whateverorigin.org/get?url=' +
encodeURIComponent(purl) + '&callback=?',
function (data) {
$('#viewer').html(data.contents);
});
文章来源: Get value of input field inside an iframe