이를 위해 제가 일상생활에서 자주 사용하는 JavaScript 함수들을 모아두었는데, 다른 JS 라이브러리에서도 흔히 볼 수 있는 함수들입니다. 이제 여러분께 참고가 되기를 바라면서 정리했습니다.
참고: 쉽게 참조할 수 있도록 다음 기능은 모두 CC 개체에 배치되어 있다고 가정합니다.
코드는 다음과 같습니다.
// f, 양식 형식.
var formData = "" , elem = "", f = CC.$(f)
var elements = f.elements;
var length = elements.length
for (var s = 0; s < length; s) {
elem = elements[s]
if (elem .tagName == 'INPUT') {
if ( (elem.type == 'radio' || elem.type == ' checkbox') && !elem.checked) {
계속;
}
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;
Array.prototype.indexOf = (function( obj) {
for ( var i = 0, length = this.length; i < length; i ) {
if (this[i] == obj) return i; return - 1; 🎝>*/
validate: function() {
var args = CC.$A(arguments),
form = null
// 은 빈 요소가 아니며 하나의 매개변수에서 첫 번째 요소에 배치되어야 합니다.
if (!CC.isArray(args[0])) {
form = CC.$(args[0]);
args.remove(0);
}
ignoreNull = b.ignoreNull,
cb = b.callback;
var result = queryStr ? Each(args,
function(i, v) {
//fomr에 name 요소가 없으면 이를 ID로 사용하여
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)
//콜백이 있는 경우 전달된 세 가지 매개변수에 주의하세요
//msg: 메시지, obj: 노드, 양식: 해당 양식(존재하는 경우)
else d.callback(msg, obj, form);//오류 발생 후 수집 여부
if (!d.nofocus) obj.focus()
result = false
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 == 'undefine' || obj.name == '') ? obj.id: obj.name)
'=' value: '&' v[0] '=' value; 🎜>} else if (!form) {
result[v[0]] = value;
}
} )
//queryString:true가 설정되고 확인이 통과된 경우, 양식 제출 문자열이 반환됩니다.
if (result !== false && form && queryStr) result = CC.formQuery(form)
return result; >
코드 복사
코드는 다음과 같습니다.
/**
* 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 ''
스위치(st) {
case 0:
return ''; 사례 1:
return $1;
return c;
}
return a; }