这是使用社交网络引擎Elgg 1.8。 我是ajax的新手,并尝试在不刷新的情况下提交表单,它提交表单但是将项目添加到列表中而没有标题。 表单显示在fancybox弹出窗口中。
这是我的文档就绪脚本:
$(document).ready(function(){ $(' .elgg-form-announcements-save')。live(' submit',function(e){
//e.preventDefault(); var $form = $(this); elgg.action($form.attr('action'), { data: $form.serialize(), success: function(data) { // check the status and do stuff //e.preventDefault(); var river = $('ul.announcements_list'); if (river.length < 1) { river.append(data.output); } else { $(data.output).find('li:first').hide().prependTo(river).slideDown(500); }; $.fancybox.close(); } }); return false; // prevent the form from submitting e.preventDefault(); }); });
这是动作php文件中的代码:
if($ announcement-&gt; save()){
elgg_clear_sticky_form(&#39;公告&#39);system_message(elgg_echo(&#39;公告:保存:成功&#39;));
if(elgg_is_xhr()){
$ options = array(&#39; type&#39; =&gt;&#39; object&#39;,&#39; subtype&#39; =&gt;&#39;公告&#39;,&#39; full_view& #39; =&gt; false, &#39;页码&#39; =&GT;是的,&#39;限制&#39; =&GT; 1);
$ newannouncement = elgg_list_entities($ options); echo json_encode($ newannouncement); }
} else {
我不确定我在这里需要做什么,也许使用&#34;成功:功能(json){&#34;而不是&#34;成功:功能(数据){&#34;但不确定如何实现。
我尝试使用ajaxForm但没有成功。
谢谢。