在模板中,我想在弹出窗口中打开一个add表单。
所以,我有个链接:
<p class="visualClear">
<a href="createObject?type_name=Contact" class="link-overlay" i18n:translate="">Add a contact</a>
</p>以及生成prepOverlay的javascript:
(function($) {
jQuery(function($){
// popin de plone
$('a.link-overlay').prepOverlay({
subtype: 'ajax',
filter: common_content_filter,
formselector: 'form[name=edit_form]',
noform: 'reload',
closeselector: '[name="form.button.cancel"]'
});
});
})(jQuery);问题是,当我单击链接时,我得到了一个javascript错误:TypeError: $(...).multiSelect is not a function和弹出表单根本没有显示。
根据这篇文章的https://github.com/ehynds/jquery-ui-multiselect-widget/issues/267,这个错误是应该的,因为jquery被加载了两次。
这可能是原因,因为当我点击链接时,我在http://localhost:8080/Plone/guide-paroissial/milieux-sociaux/acf-action-catholique-des-femmes/createObject?type_name=Contact&ajax_load=1398763930910上得到了一个GET
然后重定向到:http://localhost:8080/Plone/guide-paroissial/milieux-sociaux/acf-action-catholique-des-femmes/portal_factory/Contact/contact.2014-04-29.9309424841/edit
那么,我怎么才能让这件事成功呢?
发布于 2014-04-29 13:08:37
我在一个普通的plone站点上测试了你的代码。我只是更改了prepoverlay的选择器,以匹配"add菜单“,并删除了第二个jquery范围定义。
jQuery(function($){
// popin de plone
$('.actionMenuContent a').prepOverlay({
subtype: 'ajax',
filter: common_content_filter,
formselector: 'form[name=edit_form]',
noform: 'reload',
closeselector: '[name="form.button.cancel"]'
});
});工作没有任何问题。
否则,我还会得到一个TypeError。
https://stackoverflow.com/questions/23361038
复制相似问题