「変更を保存しますか?」という警告がポップアップできるように、フォームのHTMLコンポーネント(入力要素)の値が変更されていることを確認する方法はありますか?他のページに移動する前にフォームの入力要素の変更を確認する方法
ありがとうございました。
「変更を保存しますか?」という警告がポップアップできるように、フォームのHTMLコンポーネント(入力要素)の値が変更されていることを確認する方法はありますか?他のページに移動する前にフォームの入力要素の変更を確認する方法
ありがとうございました。
jQuery('.form_component').change(function(){..});
ここで、form_component
は、フォーム内のすべての入力要素に共通のクラスである必要があります。
、あなたの質問にjQuery
を持っているので:ページのロード後
、フォームのスナップショットを作成する$.serializeを使用しています。
送信時に、再度シリアル化を実行します。
次に、isEqual
関数を使用して(または作成して)、変更があったかどうかを比較できます。この質問は、その最後のステップであなたを助けるかもしれない
:How to determine equality for two JavaScript objects?
EDIT
jQueryのも、そのプロセスを簡単にすることserializeArray
方法があります。
合意!!しかし、私はこのシナリオもカバーしたいと思います。ユーザーが値を0から1に変更してから0に戻った場合は、この例では何も変更されていません。これでうまくカバーする方法はありますか? –
ユーザーがナビゲートする前に警告を表示する場合は、フォームの値を配列に格納します。新しい値が格納されている配列と等しいかどうかを確認します。そうでない場合は、警告を表示してください。 Voila! – venkatKA