2011-09-22 38 views
0

我有一个包含两个文本框和一个按钮的网页。我无法通过添加任何东西来控制此页面,或者更改其中的任何内容。从容器页面控制框架

我希望(以某种方式)在页面加载时在第一个文本框中写入一些文本,而无需按下按钮。

我希望把该页面在一个框架,然后从容器页面

我知道,我必须使用jQuery的控制,但我需要说明的是样品或告诉我怎么做我要

举例来说,如果我有一个文件 “这个a.htm”:

“这个a.htm” 的内容:

<iframe id="frame1" src="f.htm" /> 

和 “f.htm” 的内容是:

<input type="textbox" id="tbx1" /> 
<input type="textbox" id="tbx2" /> 
<input type="submit" id="okbtn" value="ok"/> 

例如,当在网页“这个a.htm”负荷,我想文本框的页面“f.htm”(例如“TBX1”),(包含在框架“帧1”),以由一些文本填充。

由于事先

回答

3

在我开始对这个答案,这是值得说明您不能使用JavaScript独自操纵供应从一个单独的域*内容的框架。换句话说,如果您的网页a.htm位于您的网域(例如http://yourdomain.com/a.htm),而f.htm位于另一个网域(例如http://someothersite.com/f.htm),则JS将而不是能够访问iframe中的任何内容。

* 有技术可以做到这一点,但作为一个经验法则,他们会导致更多的麻烦而不是好的。

但是,如果它们都在同一个域中,你应该没有问题。在a.htm,访问iframe中,你可以使用下面的jQuery的片段:

$(function() { 
    var iframe = $('#frame1').load(function() { 
    $(this).contents().find('#tbx1').val('Text in a box!'); 
    }); 
}); 

所以,你a.htm可能看起来像:

<html> 
    <head> 
    <script type="text/javascript" src="http://code.jquery.com/jquery-1.6.4.min.js"></script> 
    <script type="text/javascript"> 
     $(function() { 
     var iframe = $('#frame1').load(function() { 
      $(this).contents().find('#tbx1').val('Text in a box!'); 
     }); 
     }); 
    </script> 
    </head> 
    <body> 
    <iframe id="frame1" src="f.htm" /> 
    </body> 
</html> 
+0

,但它是包含在网页的框架上工作。 .. –

+0

我不太明白你在问什么。 “页面中包含的框架”是什么意思? –

+0

我编辑的问题更加明显 –