カスタム Joomla 2.5 フォームフィールドを作成しています。これは、Joomla の管理者パネルに表示されることを意図しています。
このフィールドでは、ユーザーは好きなだけオプションを追加できます。各オプションは、ユーザーが個別のテキスト ボックスに入力します。(+)
ボタンをクリックすると、各テキスト ボックスが (jQuery を使用して) 動的に作成されます。
jQuery(lihtml).insertBefore( jQuery(plusbutton).closest('li') );
lihtml
挿入する html コードは どこにありますか。
(-)
また、ユーザーはボタンをクリックして既存のオプションを削除することもできます
jQuery(minusbutton).closest('li').remove();
これらのすべての機能は正常に機能しますが、オプションを削除した後、他のオプションを追加するとすべてがうまくいきます。ただし、次のシーケンスでは問題が発生します。
REMOVE-OPTION -> SAVE
オプションは削除されましたが、フォームが送信されて保存が機能しないため
REMOVE-OPTION -> SAVE -> ADD-OPTION
、ボタンをクリックすると保存メソッドが呼び出されます。
競合があることは知っていますが、DOM や jQuery のメモリ リークが原因である可能性がありますが、よくわかりません。
ボタンがフィールド(hidden)をsave
更新することがわかりますが、実際の送信はボタンをクリックした後にのみ呼び出されます。task
customfield.apply
(+)
NOTE:
SAVE の代わりに、SAVE AS NEW、CANCEL などの Joomla のツールバー ボタンにも同じケースが適用されます。