从iframe中的表计算总和

时间:2014-12-10 07:04:25

标签: javascript jquery html

我有一个主页面和一个子页面(框架)。该框架包含一个包含列中数字的表。我想总结这些数字并从主页面得到结果。

现在我的问题是我不知道如何访问框架表中的<input>

<iframe id="iframe_form" name="iframe_form" src="ServicesList_guest_form.php"
frameborder=0 style="width:540px;height:900px;position:absolute;top:710px;" ></iframe>

文件ServicesList_guest_form.php包含

...
<form id="f1" action="save.php" ...>
  <table id="mytable" ... >
     <tr><td><input type="number" name="val1"></td></tr>
     <tr><td><input type="number" name="val2"></td></tr>
     <tr><td><input type="number" name="val3"></td></tr>
     ...
  </table>
</form>
...

感谢您的帮助

1 个答案:

答案 0 :(得分:0)

您可以通过以下(IE8或更高版本)访问iframe的文档,请参阅MDN iframe documentation

  • $(“#iframe_form”)获取jQuery包装器
  • [0]获取底层DOM引用
  • .contentWindow.document是文档

喜欢这个

var innerDoc = $("#iframe_form")[0].contentWindow.document;

然后,您可以使用jQuery查找元素

console.log($(innerDoc).find("#mytable input"));

然后可以通过循环来完成求和

var total = 0;
$(innerDoc).find("#mytable input").each(function(index) {
    var value = parseInt($(this).val(), 10);
    if (! isNaN(value)) { // just in case field is empty or user garbage
        total += value;
    }
});
console.log(total);