ホームページ >ウェブフロントエンド >jsチュートリアル >jQuery UI Dialogコントロールのフォームが正常に送信できない問題の解決方法_jquery
最近、jQuery UI の Dialog コントロールを使用しているときに、このコントロールにフォームを配置すると、すべてのフォームが正常に送信できないことがわかりました。具体的な症状は次のとおりです。
1. 送信ボタンが無効になっています。クリックしても反応がありません。
2. 他の手段を使用してページを送信した場合でも、サーバーはダイアログ内のフォーム データを取得できません。
ページのソース コードを調査した結果、jQuery UI Dialog コントロールの初期化時に動的に生成された HTML 要素がページの最後と form 要素の後ろに追加され、元の Dialog テンプレート パーツ (これには form 要素が含まれていました) も、動的に生成された HTML 要素に移動されました。つまり、Dialog が初期化された後、元々フォーム内にあったフォームがフォーム外に移動されたため、Dialog テンプレート内のすべてのフォームが無効になってしまいました。
jQuery UI のダイアログのデザインが機能なのかバグなのかはわかりません。 Dialog で通常のページ送信を実現するために、上記の分析に基づいて、Dialog コントロールによって動的に生成された HTML 要素を jQuery UI コントロールの「open」イベント ハンドラーの form 要素に移動するという簡単な解決策を見つけました。コードは次のとおりです: