我正在为 Magento 开发一个真正自定义的管理页面(我知道我有点不习惯开发 Magento 扩展的通常方式)。
我有一个名为 sendMail
的函数,当单击按钮时,它会调用发送邮件的 Controller
。我第一次运行这个时一切都很好(所以我知道这不是路由问题,而是 javascript 问题),但从第二次开始,我收到错误 Uncaught TypeError: sendMail is not a function
。
这是我的代码:
按钮片(通过 javascript 添加到页面)
"<td><button onclick='sendMail("+"\"<?php echo Mage::helper('adminhtml')->getUrl('adminhtml/sendBrochure/send/'); ?>"+"?isAjax=true"+"&id="+resultLog[i].id+"\")'>Send brochure</button></td>";
sendMail函数:
function sendMail(link){
sendMailPath = link;
sendMail = new XMLHttpRequest();
sendMail.open("get", sendMailPath, true);
sendMail.setRequestHeader("Content-type","application/x-www-form-urlencoded");
sendMail.send();
}
你知道为什么这段代码只能在第一次运行吗?
最佳答案
由于我的评论解决了问题,我将把它作为答案发布:
只是一个猜测,但是:当您尝试将“sendMail”变量更改为 sendMail 函数中的其他变量时,这有帮助吗?
实际上,我认为您可以随意使用带有名称的局部变量,因为局部名称应该只在函数内部可用,并在 block 离开时从堆栈中删除。也许有人可以解释一下?
关于javascript - Magento 管理html : "sendMail" is not a function,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33464042/