1

動的に拡張できる HTML フォームがあり、最終的に 400 以上の入力可能なフィールドが表示されます。値が変更されたフィールドのみが送信されるように、フォームが送信されたときに (AJAX ではなく) どのフィールドが投稿されるかを選択的に決定したいと思います。

name 属性を持つ入力フィールドのみが実際に投稿されることを知っているので、私の考えは、(変更された) 各要素 ID を取得し、次のように JQuery を使用して name 属性を追加することです:-

$('#field1').attr('name', 'field1');

これは送信の直前であるため、(理論的には) 変更されたフィールドのみが送信されます。

これを行う例を探してGoogleを調べましたが、驚くべきことにどこにも例が見つかりません。私が見た中で最も近いのは、送信前にフィールドを無効にするように言及している人です。

だから私の質問は: - このアイデアはうまくいくでしょうか? もしそうなら、このアプローチを使用する否定的な理由はありますか?

助けてくれてありがとう。

4

1 に答える 1

1
$('input').change(function(){
  var newName = $(this).attr("id"); //could use any attribute, maybe data-name
  $(this).attr("name", newName);
})

入力フィールドが変更されると、id がその名前としてフィールドに追加されます。

一般的な設計の問題については、おそらくフォーム全体を送信し、サーバー側で変更されたフィールドのみを更新します。私の場合、実際には休止状態によって処理されます。

于 2012-11-22T14:26:42.743 に答える