使用JavaScript从iframe获取数据

时间:2010-06-23 17:37:27

标签: javascript iframe input field

我有一个简单的iframe页面。在此框架中有三个输入字段,用户填写。如何使用js在每个输入字段中获取此数据?

这是 js

<script type="text/javascript"> var ticket = window.frames[0].document.getElementById('ticket').ticket; alert(ticket); </script>

我有内框:

<input type='text' name='ticket' id='ticket'...

当我填写所有3个输入字段并按确定时没有任何反应。如何将这个输入字段填入.txt文件的数据保存起来,而不是我可以通过php抓取这个txt并填入数据库。

2 个答案:

答案 0 :(得分:1)

我不相信iframe可以通过window.frames属性访问。你可以尝试这样的事情:

var frame = document.getElementsByTagName("iframe")[0]
  , form = frame.contentDocument.forms[0];
alert("OK: ticket=" + form.ticket.value);

将表单值存储在数据库中完全是另一个问题。最简单的方法是完全避免使用JavaScript,并简单地让iframe中的表单对您自己的PHP处理程序执行POST,这样可以根据需要保存内容。

答案 1 :(得分:0)

我花了很多时间试图弄清楚如何在两个Iframe中的文本框之间交换数据。 (我是两个iframe的作者)。经过大量浪费时间并在互联网上寻找解决方案后,解决方案当然非常简单。互联网上的每个人都在做 MUCH 更复杂的事情。对于那些想要做一些简单事情的人来说!

我有一个包含两个iframe(ID = ifr1ifr2)的主页面。每个框架都有一个文本框(ID = tb1(在ifr1))。在javascript中,您只需使用

即可在iframe tb1中获取ifr2的内容

parent.ifr1.tb1.valueparent.ifr1.document.getElementByID(‘tb1’).value.

要更改值,显然是“

parent.ifr1.tb1.value=”whatever”parent.ifr1.document.getElementByID(‘tb1’).value=”whatever”

您还可以使用

ifr1 ifr2访问变量

parent.ifr1.var_in_ifr1其中var_in_ifr1ifr1

的脚本中定义

var var_in_ifr1=”whatever”