ユーザーがカスタムのDrupal ajaxコールバックを介してコメントセクションにスクロールダウンすると、Ajaxを介してコメントセクションをロードするページがあります。
コメントはうまく読み込まれ、カスタムモジュールを使用して、Ajax経由でコメントを削除、編集、返信、プレビューすることができます。
コメントフォームは、次の関数を使用してAjaxからも読み込まれます。
さて、ここに問題があります
コメントフォームが別のコメントへの返信ではない場合、コメントをプレビューして保存すると、次のエラーが発生します。
フォームが古くなっています。保存されていない作業を以下のフォームにコピーしてから、このページを再読み込みしてください。
プレビュー後にフォームを生成するコードを次に示します。
Drupal_build_formの代わりにdrupal_rebuild_form()を試しましたが、成功しませんでした。回避策をたくさん検索しましたが、見つかりませんでした。
EDIT:Fivestarが問題の原因であるようです。 Fivestarを無効にすると、フォームが正常に送信されます。ただし、このページからファイブスターを削除することはできません。
次に、プレビューボタンをクリックしたときの$ form_stateの内容を示します。