我正在创建一个自定义的Joomla 2.5表单域。这应该在Joomla的管理员面板中显示
该字段允许用户添加任意数量的选项。用户在单独的文本框中输入每个选项。每个文本框都是在点击(+)
按钮
jQuery(lihtml).insertBefore( jQuery(plusbutton).closest('li') );
其中lihtml
是要插入的html代码。
用户还可以点击(-)
按钮
jQuery(minusbutton).closest('li').remove();
如果我们添加其他选项,那么所有功能都可以正常工作删除一个选项,然后一切都很顺利。但是以下序列会导致问题:
REMOVE-OPTION -> SAVE
选项已删除,但保存不起作用
提交了REMOVE-OPTION -> SAVE -> ADD-OPTION
表单,因此单击按钮时会调用save方法。
我知道存在一些冲突,可能是DOM,或jQuery内存泄漏,但不确定。
我可以看到save
按钮使用task
更新customfield.apply
字段(隐藏),但只有在点击(+)
后才会调用实际提交按钮。
NOTE:
同样的情况也适用于Joomla中的任何工具栏按钮,而不是SAVE,例如SAVE AS NEW,CANCEL等。