for (var s = 0; s elem = elements[s]; .tagName == 'INPUT') {
if ( (elem.type == 'radio' || elem.type == ' checkbox') && !elem.checked) {
Continue
}
}
if (formData != "") {
formData = "&";
}
formData = encodeURIComponent(elem.name||elem.id) "="
encodeURIComponent(elem.value);
}
return formData;
コードをコピーします。 >
コードは次のとおりです:
/**
* 指定された要素を配列から削除します。
* パラメーターには整数の添字または配列データを渡すことができます。*/
Array.prototype.remove = (function(p) {
//パラメータは添字です
if (CC.isNumber(p) ) {
if (p < 0 || p >= this.length) {
throw "Index Of Bounds:" this.length "," p;
}
this.splice ( p, 1)[0];
return this.length;
}
//パラメータは配列データであり、最終的には
if (this.length) を演算するための添字を見つける必要があります。 > 0 && this [this.length - 1] == p) {
this.pop();
} else {
var pos = this.indexOf(p); pos != -1 ) {
this.splice(pos, 1)[0]
}
}
return this.length>});
コードをコピーします
return - 1;
} ; 🎝>*/
validate: function() {
var args = CC.$A(arguments),
form = null;は空の要素ではありません。1 つのパラメータの最初の要素に配置する必要があります。
if (!CC.isArray(args[0])) {
form = CC.$(args[0]);
args.remove(0);
}
//設定項目がある場合は、最後のパラメータに配置する必要があります。 >//cfg.callback = function
//cfg.ignoreNull
var obj = v[0].tagName ? v を取得します。 [0] : フォーム ? フォーム[v[0]] : CC.$( v[0]);
//console.debug('チェックフィールド:',v, '現在の値:' obj.value) ;
var value = obj.value、
msg = v[1]、
d = CC.isFunction(v[2]) v[3] : v[2]; /Option
if (!d || typeof d != 'object' ) d = b;
//null を無視するかどうか
if (!d.ignoreNull && (value == '' || value == null)) {
//コールバック関数がない場合、アラートを呼び出してエラー情報を表示します
if (!d.callback) CC.alert(msg, obj, form); //コールバックがある場合は、渡される 3 つのパラメータに注意してください
//msg: message ,obj: ノード、form: 対応するフォーム (存在する場合)
else d.callback(msg, obj, form);
//エラー後に収集するかどうか
if (!d.nofocus) obj.focus();
return false; //カスタム検証メソッド
if (CC.isFunction(v[2])) {
var ret = v[2](value, obj, form);
var pass = (ret !==) false);
if (CC.isString(ret)) {
msg = ret;
pass = false;
if (!pass) {
if (!d .callback) CC.alert(msg, obj, form);
//上記と同じ
else d.callback(msg, obj, form);
if (!d.nofocus) obj.focus ();
result = false;
return false;
}
}
//queryString が設定されておらず、フォームが存在しない場合、オブジェクトは
//このオブジェクトには、{elementName|elementId:value} の形式のデータが含まれます。
if (queryStr && !form ) {
result = (result == '') ? (typeof obj.name == '未定義' || obj.name == '') ? obj.id: obj.name)
'=' 値: '&' v[0] '=' 値; 🎜>} else if (!form) {
result[v[0]] = value;
}
} );
//queryString:true が設定され、検証が成功した場合、
if (result !== false && form && queryStr) result = CC.formQuery(form);
コードをコピー
コードは次のとおりです:
/**
* この関数は、JS の動的言語の機能を利用しています。
* サンプルを見るとよくわかります。 🎜>*/
templ: function(obj, str, st) {
return str.replace(/{([w_$] )}/g, function(c, $1 ) {
var a = obj[$1];
if (a === 未定義 || a === null) {
if (st === 未定義) return '';
switch (st) {
case 0:
戻り '';
戻り $1;
戻り
}
;