我正在使用过去员工的一些代码。有问题的phtml文件有一个带onclick事件的按钮:
<button title="Submit" class="greenButton" id="submitBtn" onclick="loginOnepage.forgotpasswd()" type="button">Submit</button>
它还有一些JavaScript:
var loginOnepage = new LoginOnePage(
{
formId: 'forgot-form-onepage',
postUrl:'<?php echo $this->getUrl('checkout/cart/forgotpassword', array('_secure' => true)); ?>',
formNewCustomer: 'form-validate'
}
);
在单独的js文件中,是LoginOnePage()
原型:
var LoginOnePage = Class.create();
LoginOnePage.prototype = {
forgotpasswd: function(){
/* code here */
},
....
onclick事件正在调用forgotpasswd
原型中创建的LoginOnePage
方法。出于某种原因,当最初登陆按钮所在的网页时,单击按钮时不会发生任何事件。检查控制台会出现此错误:
'LoginOnePage' is undefined
当我刷新页面时,一切正常。没有错误。
这只发生在Microsoft Edge中。
我现在的怀疑是第一次在网页上没有加载包含原型的单独的js文件,但是我不明白为什么刷新将一切设置为正确...
我的公司也在使用Magento作为电子商务平台。
答案 0 :(得分:0)
解决。问题是js文件,原型代码设置为在xml文件中异步加载。 - jakewies