2015-11-01 2 views
2

Я разрабатываю действительно настраиваемую страницу администрирования для Magento (я знаю, что я немного не привык разрабатывать расширения Magento). У меня есть функция, называемая sendMail, которая при нажатии кнопки вызывает controller, который отправляет почту. Все нормально в первый раз, когда я запускаю это (так что я знаю, что это не проблема маршрутизации, а javascript), но со второго я получаю ошибку Uncaught TypeError: sendMail is not a function.Magento 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 функционировать?

На самом деле я думал, что вы можете использовать локальные переменные с именами столько, сколько хотите, поскольку локальные имена должны быть доступны только внутри функции и быть удалены из стека, когда блок остается. Может, кто-то может объяснить?

Смежные вопросы