我在magento中有一个管理模块。当表格提交时,我希望能够显示"请等待"弹出窗口(与更改类别时获得弹出窗口的方式相同)。我目前没有使用任何AJAX,但我认为我需要使用AJAX提交表单。我没有任何phtml文件,因为我的表单信息是通过编程设置的(因为它是动态的)。
有人能告诉我在使用或不使用AJAX的情况下,在magento中使用"Please Wait"的正确方向吗?
如果你需要更多关于我如何显示表格的信息,请告诉我,因为我不知道需要什么信息,也不想只是用随机的片段来填充我的帖子。
已解决
只是为了清晰起见,保存浏览评论:
我覆盖了默认的保存按钮,添加了一个JS onclick:
$this->_updateButton('save', 'onclick', 'submitForm()');
然后,我使用layout.xml
包含了一个JS文件
<reference name="head">
<action method="addJs"><script>mymodule/javascript.js</script></action>
</reference>
然后添加了一个JS函数:
function submitForm(){
$('edit_form').request({
onComplete: function() {
window.location.href = document.URL;
}
})
}
这帮我整理了一下。
这是最常见的添加please wait微调器的页面,所以我想我应该在这里增加答案,因为我们这些人发现这个页面时,他们想在不通过ajax提交而是进行其他js处理时显示微调器。
有一种非常简单的方法可以显示微调器(adminhtml模板),那就是在页面中添加以下js:-
Element.show('loading-mask');
/* do your js stuff here */
Element.hide('loading-mask');
请记住,任何执行的ajax都会隐藏您的加载掩码本身,因此,如果调用单击按钮,您可能需要在之后再次显示掩码。
默认情况下,在magento admin中,您使用以下代码提交的任何ajax都将显示"请稍候"
function submitForm(){
new Ajax.Request(url, {
method:'post',
.....
});
}
$fieldset->addField('submit', 'submit', array(
'label' => Mage::helper('form')->__('Submit'),
'required' => true,
'onclick' => "submitForm",
'value' => 'Submit()',
'after_element_html' => '<small>Comments</small>',
'tabindex' => 1
));
看看@
http://www.excellencemagentoblog.com/magento-admin-form-field
http://turnkeye.com/blog/magento-admin-form/