我见过很多关于如何将值从表单字段传递给iframe的文章 - 但没有其他方式 - 所以可以这样做吗?
我在iframe中调用另一个域(我们拥有且可以访问的其他网站)的外部表单,如下所示:
域名一:
<!--display external form in iframe -
change the ID name to populate one form field -->
<iframe id="blue" name="blue" scr="domain-two-page.html" width="200px" >
位于域2上的表单具有我需要填充的隐藏字段,基于iframe元素ID“blue”的ID或名称。
这需要能够更改为绿色,黑色或其他任何内容,并且ID需要从iframe传递到表单字段。
在域名2中包含的形式可能是这样的吗?
<script>
$id = getElementById('ID').value ="variable";
</script>
表格字段:
<!-- the form field value changes with the iframe ID -->
<input type="hidden" name="hiddenfield1" value="$id" />
但我不确定!有人可以帮忙吗?
注意:域名1是HTML,域名2是PHP!
由于
答案 0 :(得分:0)
当然你不能轻易做到你想要的东西以避免XSS攻击,但我认为(但我没有测试它)你在这种情况下做了一些事情来通过他的src将数据传递给iframe:
<iframe id="blue" name="blue" scr="http://otherdomain.com/domain-two-page.html#blue" width="200px" >
在您可以执行的其他域中:
window.onLoad = function(){
color = window.data.hash;
}
因此您可以根据需要在第二个文档中使用颜色
在第一个域(iframe所在的域)中,你可以拥有一个“发送”这样的数据的函数:
function dataSend(data){
iframe.src = "http://otherdomain.com/domain-two-page.html#"+data
}
基本上你在第二个域中有一个变量从散列中删除,你可以在第一个域中以dinamically的方式改变散列。
编辑 - 我认为你有两种可能性:
我认为你有两种可能性:
1)<iframe width="300px" height="450px" allowtransparency="yes" src="domaintwo/search.php#EK" name="EK" id="EK" > </iframe>
2)在域2上
window.onLoad = function(){ color = window.data.hash; }
//now copy that value in the value of the hidden field
$(document).ready(function(){
$('input[name="PrefferedAirlines"]').val(color);
});
或
1)<iframe width="300px" height="450px" allowtransparency="yes" src="domaintwo/search.php?formvalue=EK" name="EK" id="EK" > </iframe>
2)在域2上
<?php $color = $_GET['formvalue']; ?>