この記事の例では、JQuery での Serialize() の使用法について説明します。皆さんの参考に共有してください。具体的な分析は次のとおりです。
1. Serialize() の定義と使用法:
serialize() メソッドは、フォーム値をシリアル化することによって、標準の URL エンコードされたテキスト文字列を作成します。その操作オブジェクトは、フォーム要素のコレクションを表す jQuery オブジェクトです。 1 つ以上のフォーム要素 (入力フィールドやテキスト フィールドなど)、またはフォーム要素自体を選択できます。シリアル化された値は、AJAX リクエストを行うときに URL クエリ文字列で使用できます。
構文:
$(selector).serialize()
詳しい説明
1. .serialize() メソッドは、標準の URL エンコーディングで表されるテキスト文字列を作成します。これは、フォーム要素のコレクションを表す jQuery オブジェクトを操作します。
2. .serialize() メソッドは、、
3. 「成功したコントロール」のみが文字列にシリアル化されます。ボタンを使用してフォームを送信しない場合、送信ボタンの値はシリアル化されません。フォーム要素の値をシーケンス文字列に含める場合は、要素で name 属性を使用する必要があります。
4. フォーム内の名前には、Js および jquery のキーワードを使用できません。
例: 長さ
ユーザー名=管理者&パスワード=admin123
3. Serialize は、param メソッド
を使用する、serializeArray の単純なラッパーです。
1. $.param()
$.param() メソッドは、serialize() メソッドの中核であり、キー/値に従って配列またはオブジェクトをシリアル化するために使用されます。
paramメソッドのjsコード
var s = [ ];
関数 add( キー, 値 ){
s[ s.length ] = encodeURIComponent(key) '=' encodeURIComponent(value);
};
// 配列が渡された場合は、それが配列であると仮定します
// フォーム要素
if ( jQuery.isArray(a) || a.jquery )
// フォーム要素をシリアル化します
jQuery.each( a, function(){
add( this.name, this.value );
});
// それ以外の場合は、キーと値のペアのオブジェクトであると想定します
それ以外
// キー/値をシリアル化します
for ( var j in a )
// 値が配列の場合、キー名を繰り返す必要があります
if ( jQuery.isArray(a[j]) )
jQuery.each( a[j], function(){
add( j, this );
});
それ以外
add( j, jQuery.isFunction(a[j]) ? a[j]() : a[j] );
// 結果のシリアル化を返します
return s.join("&").replace(/ /g, " ");
}
例:
return this.map(function(){
this.elements を返しますか? jQuery.makeArray(this.elements) : this;
})
.filter(function(){
this.name を返す && !this.disabled &&
(this.checked || /select|textarea/i.test(this.nodeName) ||
/text|hidden|password|search/i.test(this.type));
})
.map(function(i, elem){
var val = jQuery(this).val();
戻り値 == null ? null :
jQuery.isArray(val) ?
jQuery.map( val, function(val, i){
return {名前: elem.name、値: val};
}) :
{名前: elem.name、値: val};
}).get();
}
serializeArray データベースの例:
ここで説明されている大規模な jQuery プログラムの設計が役立つことを望みます。