1

「変更を保存しますか?」のようなメッセージを表示するために、フォームに変更がないかチェックするスクリプトを数年前に書き直そうとしています...

私の質問は、非常に簡単に言えば、元の値を非表示のフォームフィールドまたはJavascriptオブジェクトに格納する必要があるかどうかです。どちらの方法がより効率的ですか?

隠しフィールドメソッドの使用例を次に示します。

<input type="text" name="first_name" id="first_name" value="John Smith" />
<input type="hidden" name="first_name_old" id="first_name_old" value="John Smith" />

そして、javascriptオブジェクトの代替:

var old_values = {
    'first_name': 'John Smith'
}
4

2 に答える 2

1

JavaScriptオブジェクトに値を格納することは、より透過的で保守しやすくなりますが、非表示のフィールドまたはデータ属性に格納するのではなく、コードをより構造化することを意味します。HTMLにあらゆる種類の値を格納するより大きなフロントエンドアプリケーションを構築している場合、DOMを変更するための多くの呼び出しが発生し、すぐに混乱する可能性があります。

効果が速度を意味する場合は、どちらが速いかをベンチマークする必要があります。ただし、値を更新しないと、このマイクロ最適化はコードの保守性が低下するという事実に無視できることがよくあります。

于 2013-01-28T11:57:58.027 に答える
0

同じ要素のデータ属性として保存できます。

編集

誤解してすみません、このように保存できます

<input type="text" name="first_name" id="first_name" value="John Smith" data-old_value="John Smith" />

それから

$('#first_name').data('old_value');

あなたに古い価値を与えるでしょう

于 2013-01-28T11:44:03.817 に答える