将文本插入iFrame中的表单,然后单击“提交”

时间:2013-04-23 11:24:33

标签: javascript jquery html iframe

好的。我基本上想在我的网站上创建一个iframe,通往我的其他网站。

在我的iFramed网站上,我有一个带有文本字段和提交按钮的表单。我想在文本字段中插入一些文本然后单击提交按钮当我单击站点A上的按钮(包含iframe的按钮)时。

有可能以某种方式吗?

我尝试了以下但是它似乎不起作用:

<script type="text/javascript">
    function insertTxt() {
        var textstring = "test successful";
        window.frames["iframeAB"].document.documentElement.getElementsByTagName("textarea")[0].value = textstring;
    }
</script>

<iframe name="iframeAB" src ="index.html" id="qab" width="100%" height="210" style="border:1px solid #009ee0">
    Your browser doesn't handle iframes
</iframe>
<input type="button" value="Go" onclick="top.frames['iframeAB'].window.document.body.getElementById('text_field').value='test successful';"/>
<a href="#" onclick="insertTxt();">test</a>

3 个答案:

答案 0 :(得分:0)

尝试使用window.frames["iframeAB"].documentContent代替window.frames["iframeAB"].document

答案 1 :(得分:0)

使用 jQuery

尝试此操作
// Include the jQuery file inside the head tag
// Download the latest version, this is in the jQuery website
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>

<script>
// Then call the code inside ready method like this
$(document).ready(function () {
    // Get the iFrame jQuery Object
    var $MyFrame = $("iframe[name='iframeAB']");

    // You need to wait for the iFrame content to load first
    // So, that the click events work properly
    $MyFrame.load(function () {
        var frameBody = $MyFrame.contents().find('body');

        // Find the textarea by id
        var textarea = frameBody.find('#text_field');

        // Set the value here...
        textarea.val(textstring);
    });
});

</script>

答案 2 :(得分:0)

您可以尝试这个解决方案:

它使用JQuery

您的HTML

<iframe name="iframeAB" src ="index.html" id="qab" width="100%" height="210" style="border:1px solid #009ee0">
    Your browser doesn't handle iframes
</iframe>
<input type="button" value="Go" onclick="top.frames['iframeAB'].window.document.body.getElementById('text_field').value='test successful';"/>
<a href="#" onclick="insertTxt();">test</a>

JS文件中的insertTxt()方法

$("#qab").ready(function() {
    $("#qab").contents().find("body").find('textarea').val('Test Successful');
});