2015-11-01 28 views
2

我正在为Magento开发一个真正自定义的管理页面(我知道我有点不习惯开发Magento的扩展)。 我有一个叫做sendMail的函数,当点击一个按钮时,调用一个发送邮件的controller。第一次运行这个时,一切都很好(所以我知道这不是路由问题,而是一个javascript),但从第二个我得到错误Uncaught TypeError: sendMail is not a functionMagento adminhtml:“sendMail”不是函数

这里是我的代码:

按钮件(这是通过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(); 
} 

你有什么线索为什么这个代码只有第一次工作?

+1

只是一个猜测,但:当你尝试将sendMail变量改为sendMail函数内的不同内容时,它有帮助吗? – smat88dd

+1

哦,你是对的,改变“sendMail”变量的名字使它工作。我并不一定在寻找这样的错误。非常感谢你! – tabris963

+0

不客气。我很惊讶自己,但我固定,很好!欢迎您接受答案作为您的解决方案。 – smat88dd

回答

3

至于我的意见解决了这一问题,我将它张贴作为回答:

只是一个猜测,但:它帮助当您尝试了“sendmail的”变量更改为不同的你的sendmail里面的东西功能?

其实我以为你可以使用局部变量的名称尽可能多,因为局部名称应该只在函数内部可用,并在块被留下时从堆栈中移除。也许有人可以解释?

相关问题