私は、Safari/Chrome の [戻る] ボタンのバグ (ブラウザーが属していないフィールドに偽のデータを配置する) の回避策を見つけようとしています。私は運がなかったので、今のところこれに対する良い解決策があるようです (2009 年にさかのぼる投稿が見られますが、良い解決策はありません)。
この例では: http://jsfiddle.net/eGutT/13/
最初のページ読み込みですべてがうまくいっていることがわかります。ただし、リンクをクリックしてブラウザの戻るボタンをクリックすると、値が間違ったフィールドに伝播されます。Safari または Chrome を使用してテストしてください。Firefox では問題なく動作します。
これは、特に次の場合に、非常に深刻な問題です。
- ユーザーが戻るボタンを押すと、このバグが発生します
- ユーザーは偽のデータに気付かない
- ユーザーがフォームに無関係な変更を加えた (影響を受けない別のフィールドで)
- ユーザーがフォームを送信
これで、偽のデータがデータベースにコミットされる状況が残ります!!
ところで、この問題は jQuery に関連している可能性があります。例でこの行のコメントを外すと、次のようになります。
updateRowNums(); // IF YOU COMMENT OUT THIS LINE...
余分な/偽のデータが導入されることはありません。
ありがとう、ガレン