从iFrame获取表单内容

时间:2015-03-24 16:13:30

标签: javascript html forms iframe

我有一个表单,2个问题在单独的iFrame中,这些选项会根据在父框架上选择的选项而更改(选择某些选项时会自动刷新),如何在iFrames中选择选项在提交表单时传递给父框架? 父片段:

<td>Manager Name:</td>
<td><iframe name="manname" id="manname" frameborder="0" width="300" height="21" scrolling="no" src="./get_manager.php"></iframe>
<input type="hidden" id="starter_manname" name="starter_manname" width="300">
</td>

我希望starter_manname包含从iFrame中选择的内容。这是iFrame内容的一部分:

<select id="starter_manname" name="starter_manname" width="300" class="textboxstyle">
<option selected value="">----- Select Manager -----</option>
<option value="CouldBeAnythingVal">CouldBeAnythingName</option>
</select>

iFrame只包含<html><body>&amp; <option>代码,其中没有<form>或其他内容。我对Javascript没用,我认为这是答案所以如果你能解释答案或指出我正确的方向,我们将不胜感激(尽管请不要使用jQuery)

1 个答案:

答案 0 :(得分:0)

您可以使用jquery&#39; .contents()方法访问iframe内容。 如果你有一个id为#34; myframe&#34;的iframe 然后,你可以这样做:

    $('#myframe').contents().find('something')
    // or event bind events
    $('#myframe').contents().find('button').on('click', function(){  });

假设您在iframe <iframe name="manname" id="manname" frameborder="0" width="300" height="21" scrolling="no" src="./get_manager.php"></iframe>

中有内容
$(function(){
  var selectInframe = $('#manname').contents().find('#starter_manname');
  selectInframe.on('change', function(){
    var new_val = $(this).val();
    $('#starter_manname').val(starter_manname);
  });
});

没有jquery你可以contentdocument

var selectInframe = document.getElementById('manname');
var selectInframeDocument = selectInframe.contentDocument;
// selectInframeDocument is the document form your iframe
// you can do selectInframeDocument.getElementByTagName('..') etc to access elements and bind

希望你明白。