JavaScript:从子html文档调用函数

时间:2012-07-23 13:19:58

标签: javascript html

在子html文档中执行javascript函数的最佳方法是什么?

在我的父文档中,我有这个:

function validate() {
        debugger;
        var firstName = frm.FirstName.value;
        var lastName = frm.LastName.value;
        var email = frm.Email.value;

        if (!validateFirstName(firstName)) {
            return false;
        }
        if (!validateLastName(lastName)) {
            return false;
        }
        if (!validateEmail(email)) {
            return false;
        }

        var disp = window.open("results.html");
        disp.window.setData(firstName, lastName, email, frm.Comments);

        if (disp.confirm("Is this information correct?")) {
            disp.close();
        }
    }

在子doc(results.html)中,我有这个:

<script type="text/javascript">
    function setData(firstName, lastName, email, comments) {
        frm.FirstName.value = firstName;
        frm.LastName.value = lastName;
        frm.Email.value = email;
        frm.Comments.value = comments;
    }
</script>

这不起作用。请告诉我如何使用简单的javascript和html(没有JQuery等)来实现这一点。

由于

1 个答案:

答案 0 :(得分:1)

您应该使用 opener 属性。它返回对创建窗口的窗口的引用。

使用window.open()打开窗口时,可以使用目标窗口中的此属性返回源(父)窗口的详细信息。

   <script type="text/javascript">
        function setData(firstName, lastName, email, comments) {
            opener.frm.FirstName.value = firstName;
            opener.frm.LastName.value = lastName;
            opener.frm.Email.value = email;
            opener.frm.Comments.value = comments;
        }
    </script>