Javascript 无法从iframe调用函数
我有一个类似于仪表板的窗口。在仪表板内部,我有一个iframe,它充当向系统中的用户发送电子邮件的消息中心 我想做的是: 在下拉框中单击时将电子邮件收件人添加到文本字段的下拉框 我当前的代码: messages.js中的函数,将用户的电子邮件作为测试输出Javascript 无法从iframe调用函数,javascript,php,html,Javascript,Php,Html,我有一个类似于仪表板的窗口。在仪表板内部,我有一个iframe,它充当向系统中的用户发送电子邮件的消息中心 我想做的是: 在下拉框中单击时将电子邮件收件人添加到文本字段的下拉框 我当前的代码: messages.js中的函数,将用户的电子邮件作为测试输出 function mountRecipient(user_email){ window.parent.console.log(user_email); } 在标记中构建标记的php。这在iframe中,它保存发送电子邮件的表单 fun
function mountRecipient(user_email){
window.parent.console.log(user_email);
}
在标记中构建标记的php。这在iframe中,它保存发送电子邮件的表单
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']);
}
}
出于某种原因,单击下拉项时,onclick事件不会发生。如果我在chrome控制台中键入mountRecipienttest,那么我会从脚本中得到“test”
为什么onclick事件没有触发
我试图格式化代码,但无法正常工作,很抱歉,这将向select添加一个更改事件侦听器,您已在其中添加了需要使用的选项/为您的select设置了一个类,并将我的代码中的select替换为您的类。因此,当用户选择任何选项时,它将触发此事件。然后,在函数本身中,它只是将所选值发送给函数
document.getElementsByClassName('select')[0].addEventListener("change", function() {
mountRecipient(this.children[this.selectedIndex].value);
});
这将向select添加一个更改事件侦听器,您在其中添加了需要使用/赋予select类的选项,并将我的代码中的select替换为您的类。因此,当用户选择任何选项时,它将触发此事件。然后,在函数本身中,它只是将所选值发送给函数
document.getElementsByClassName('select')[0].addEventListener("change", function() {
mountRecipient(this.children[this.selectedIndex].value);
});
添加父项。如果它在同一个域上
onClick="parent.mountRecipient(\'%s\');"
在选择中使用onClick添加父项。如果它在同一个域上
onClick="parent.mountRecipient(\'%s\');"
使用onClick in select可能是chrome的安全问题。您使用的浏览器是什么?控制台中是否有错误?您不能在跨浏览器上使用事件。很多人不支持it@Jodast我用的是铬合金的Opera。控制台中有一个警告,但我不认为它与此相关。@charlietfl您有什么建议作为替代?这可能是chrome的安全问题。您使用的浏览器是什么?控制台中是否有错误?您不能在跨浏览器上使用事件。很多人不支持it@Jodast我用的是铬合金的Opera。控制台中有一个警告,但我不认为它与此相关。@charlietfl您有什么建议作为替代?现代最佳实践是在xx方法上使用addEventListener现代最佳实践是在xx方法上使用addEventListener