0

JQueryを使用して非表示フィールドのvalueプロパティを無効にするための最良の下位互換性のあるアプローチを知りたいです。

ありがとう!

ノート:

$('#MyHiddenField').val('');

十分ではありません。

古き良きファションヌルが必要です。

4

1 に答える 1

2

できません。プロパティはvalue常に文字列を保持します。文字列以外に何かを割り当てると、文字列に変換されます。

これは、HTMLInputElementインターフェイスのvalueプロパティがタイプであるためDOMStringです。入力であるhiddenかどうかに関係なく、入力要素インターフェイスは、input'svalueプロパティに設定された値を強制的に型stringにします。そうしないと、入力要素がエンドユーザーに使用できなくなります。これが入力要素の目的です。application/x-www-form-urlencodedまた、入力値が文字列でない場合、通常のリクエストを行うことはできません。

非表示の入力以外のものを探しているかもしれませんが、コードを大幅に変更せずにできることは、値が空の文字列であるかどうかを確認してから、それを使用して次のアドレスに割り当てることnullです。

var v = $('#MyHiddenField').val();
if (v === '') v = null;
//use v as null in your code now

また、サーバー側への投稿に必要な場合も、操作は同じです。空の文字列として投稿し、投稿されたデータが空の文字列であるかどうかを確認して、に割り当てますnull

于 2012-09-24T15:33:53.617 に答える