无法从iframe调用函数

时间:2019-04-02 21:57:58

标签: javascript php html

我有一个类似于仪表板的窗口。在该仪表板内部,我有一个iframe,它充当消息中心,用于向系统中的用户发送电子邮件。

我要做什么:

一个下拉框,单击该下拉框后,会将电子邮件的收件人添加到文本字段中。

我当前的代码:

messages.js中的

函数,用于向用户输出电子邮件作为测试

<option>

php,它在<select>标签中构建function userDropDown() { $dbConn = getConnection(); $sqlRequestUserList = "SELECT * FROM academy_user"; $user_list = $dbConn->query($sqlRequestUserList); foreach ($user_list as $value) { printf('<option onClick="mountRecipient(\'%s\');">%s %s: %s</option>', $value['user_email'], $value['f_name'], $value['l_name'], $value['user_email']); } } 标签。这是在iframe中,其中包含用于发送电子邮件的表单

mountRecipient(test)

由于某种原因,当单击下拉项时,不会发生onclick事件。如果我在Chrome控制台中输入app.put(),那么我将从脚本中返回“测试”。

为什么onclick事件不触发?

(我试图格式化代码,但无法正常工作,抱歉)

2 个答案:

答案 0 :(得分:2)

这会将一个更改事件侦听器添加到添加了选项的选择中(您将需要使用/提供选择一个类,并将我代码中的 select 替换为您的类)。因此,当用户选择任何选项时,它将触发此事件。然后,在函数本身中,它只需将所选值发送到您的函数中即可。

document.getElementsByClassName('select')[0].addEventListener("change", function() {
     mountRecipient(this.children[this.selectedIndex].value);
});

答案 1 :(得分:0)

添加父母。如果在同一个域中!

onClick="parent.mountRecipient(\'%s\');"

在选择中使用onClick