PHP Builder Forum IndexPHP Builder
free solutions for web developers
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in            Calendar



COMPUSORY UPGRADE!!! Request an upgrade NOW! 32+ Pre-installed Modifications! 3 Server Locations to choose from: USA, UK and JAPAN.

11th December 2012 - phpBB88: All servers are upgraded to run using SSD drive. Click Here to report problems!

Checkbox

 
This forum is locked: you cannot post, reply to, or edit topics.   This topic is locked: you cannot edit posts or make replies.    PHP Builder Forum Index -> JS AFV {developers/users}
View previous topic :: View next topic  
Author Message
MaximusL
Newbie
Newbie


Joined: 16 Nov 2007
Posts: 3
:


Items

PostPosted: Fri Nov 16, 2007 4:01 pm    Post subject: Checkbox Reply with quote

Hi,
at first, this is really a great script. Thank you for this. Now my question:
Is it possible to check if a checkbox was checked or not? I tried all options but it doesn't work.

Kind regards,
Max
Back to top
View user's profile Send private message
administrator
Site Admin
Site Admin


Joined: 05 Oct 2006
Posts: 538
:
Location: Israel

Items

PostPosted: Mon Nov 19, 2007 7:30 am    Post subject: Reply with quote

"req_type"=>"rc"
Back to top
View user's profile Send private message Send e-mail Visit poster's website
MaximusL
Newbie
Newbie


Joined: 16 Nov 2007
Posts: 3
:


Items

PostPosted: Mon Nov 19, 2007 11:38 am    Post subject: rc Reply with quote

Thank you for the answer but
input type="checkbox" name="rc_terms" title="Terms"
does not work.

Regards,
Max
Back to top
View user's profile Send private message
administrator
Site Admin
Site Admin


Joined: 05 Oct 2006
Posts: 538
:
Location: Israel

Items

PostPosted: Wed Nov 21, 2007 12:05 pm    Post subject: Reply with quote

Sorry, it was added in new version:
=================================


<!--//
////////////////////////////////////////////////////////////////////////////////
//
// JS Auto Form Validator version 1.0.4 (15.09.2007)
// Author: Leumas Naypoka <leumas.a@gmail.com>
// Lisence: GNU GPL
// Site: http://phpbuilder.blogspot.com
//
////////////////////////////////////////////////////////////////////////////////
//
// Usage:
// -----
// //*** copy & paste this line between <head> and </head> tags
// <script type="text/JavaScript" src="form.scripts.js"></script>
//
// //*** copy & paste these lines between before your </form> tag
// <!--
// first parameter - (required) form name
// second parameter - (optional, default - false) handle all fields or handle each field separately
// third parameter - (optional, default - false) handle hidden fields or not
// -->
// <input type="submit" name="button" value="Submit"
// onClick="return onSubmitCheck(document.forms['form_name'], false,false);">
//
////////////////////////////////////////////////////////////////////////////////


var digits="0123456789";
var digits1="0123456789.";
var digits2="0123456789,";
var digits3="0123456789.,";
var textchars="/'\"[]{}()*&^%$#@!~?<>-_+=|\\ \r\t\n.,:;`";
var lwr="abcdefghijklmnopqrstuvwxyz";
var upr="ABCDEFGHIJKLMNOPQRSTUVWXYZ";

var diac_lwr='áàâäåéèëêìíîïòóôõöøùúûüýñæßç';
var diac_upr='ÁÀÂÄÅÉÈËÊÌÍÎÏÒÓÔÕÖØÙÚÛÜÝÑÆßÇ';

// r - required, s - simple
var rtypes="rs";
// n - numeric, i - integer, f - float,
// a - alphabetic, t - text, e - email,
// p - password, y - any, l - login
// z - zipcode, v - verified c- checked (for chekboxes)
var vtypes="nifatepylzvc";
// for numbers: s - signed, u - unsigned, p - positive, n - negative
// for strings: u - upper, l - lower, n - normal, y - any
var svtypes="supnly";

function makeArray(n){for(var i=1; i<=n;i++){this[i]=0;}return this;};
var dInM=makeArray(12);dInM[1]=31;dInM[2]=29;dInM[3]=31;dInM[4]=30;dInM[5]=31;dInM[6]=30;dInM[7]=31;dInM[8]=31;dInM[9]=30;dInM[10]=31;dInM[11]=30;dInM[12]=31;
var PassLength=6;
var LoginLength=6;

var bgcolor_error = "#ff8822";
var bgcolor_normal_1 = "#ffffff";
var bgcolor_normal_2 = "#fcfaf6";
var MaxInt=13
var MaxString=30;
var MaxAdress=200;
var MaxCP=15;
var whitespace=" \t\n\r";
var decimalPointDelimiter=".";
var phoneNumberDelimiters="()- ";
var validPhoneChars=digits + phoneNumberDelimiters;
var validWorldPhoneChars=digits + phoneNumberDelimiters + "+";
var SSNDelimiters="- ";
var validSSNChars=digits + SSNDelimiters; // intr-un nr. SSN
var digitsInSocialSecurityNumber=9;
var digitsInPhoneNumber=9;
var digitsInMinPhoneNumber=5;
var ZIPCodeDelimiters="-";
var validZIPCodeChars=digits + ZIPCodeDelimiters;
var digitsInZIPCode1=5;
var digitsInZIPCode2=9;
var creditCardDelimiters=" "
var USStateCodeDelimiter="|";
var DEOK=false;

function isEmpty(s){return((s==null)||(s.length==0))}
function isShorter(str_text, str_length){s_length=(str_length==null) ? "1" : str_length;if(str_text.length < s_length) return true;else return false;}
function isValid(parm,val){if(parm=="")return true;for(i=0;i<parm.length;i++){if(val.indexOf(parm.charAt(i),0)==-1)return false;}return true;}
function isSubmitReqType(parm){return isLower(parm) && isValid(parm,rtypes);}
function isSubmitVarType(parm){return isLower(parm) && isValid(parm,vtypes);}
function isSubmitSubVarType(parm){return isLower(parm) && isValid(parm,svtypes);}
function isNumeric(parm,type){ptype=(type==null)?"0":type; pdigits=-1;switch(ptype){case 0:pdigits=digits;break;case1:pdigits=digits1;break;case 2:pdigits=digits2;break;case 3:pdigits=digits3;break;default:pdigits=digits;break;}return isValid(parm,pdigits);}
function isLower(parm){return isValid(parm,lwr);}
function isUpper(parm){return isValid(parm,upr);}
function isAlpha(parm){return isValid(parm,lwr + upr);}
function isAlphaNumeric(parm){return isValid(parm,lwr + upr + digits);}
function isText(parm){return isValid(parm,lwr + upr + digits3 + textchars + diac_lwr + diac_upr);}
function isAny(parm){return true;}
function isWhitespace(s){i=0;if(isEmpty(s)) return true; for(i=0;i< s.length;i++){c=s.charAt(i);if(whitespace.indexOf(c)==-1) return false;} return true;}
function isLetter(c){return (((c>="a")&&(c<="z"))||((c>="A")&&(c<="Z")))}
function isDigit(c){return ((c>="0")&&(c<="9"))}
function isLetterOrDigit(c){return (isLetter(c)||isDigit(c))}

// integer checking
function isInteger(s){ i; if(isEmpty(s)) if(isInteger.arguments.length==1) return DEOK; else return (isInteger.arguments[1]==true); for(i=0;i< s.length;i++){ c=s.charAt(i); if(!isDigit(c)) return false; } return true;}
function isSignedInteger(s){ if(isEmpty(s)){ if(isSignedInteger.arguments.length==1) return DEOK; else return (isSignedInteger.arguments[1]==true); }else{ startPos=0; secondArg=DEOK; if(isSignedInteger.arguments.length>1) secondArg=isSignedInteger.arguments[1]; if((s.charAt(0)=="-") || (s.charAt(0)=="+")) startPos=1; return (isInteger(s.substring(startPos,s.length),secondArg));}}
function isPositiveInteger(s){secondArg=DEOK;if(isPositiveInteger.arguments.length > 1) secondArg=isPositiveInteger.arguments[1];return (isSignedInteger(s,secondArg) && ((isEmpty(s) && secondArg) || (parseInt(s) > 0)));}
function isNegativeInteger(s){secondArg=DEOK;if(isNegativeInteger.arguments.length > 1) secondArg=isNegativeInteger.arguments[1]; return (isSignedInteger(s,secondArg) && ((isEmpty(s) && secondArg) || (parseInt(s) < 0)));}
function isIntegerInRange(s,a,b){if(isEmpty(s))if(isIntegerInRange.arguments.length==1) return DEOK;else return (isIntegerInRange.arguments[1]==true);if(!isInteger(s, false)) return false;num=parseInt(s);return ((num >=a) && (num <=b));}
// float checking
function isFloat(s){i=0; seenDecimalPoint=false; if(isEmpty(s)){ if (isFloat.arguments.length==1) return DEOK; else return (isFloat.arguments[1]==true); } if(s==decimalPointDelimiter) return false; for(i=0; i < s.length; i++){ c=s.charAt(i); if((c==decimalPointDelimiter) && !seenDecimalPoint) seenDecimalPoint=true; else if(!isDigit(c)) return false; } return true;}
function isSignedFloat(s){if(isEmpty(s)) if(isSignedFloat.arguments.length==1) return DEOK; else return (isSignedFloat.arguments[1]==true); else{ startPos=0;secondArg=!DEOK; if(isSignedFloat.arguments.length > 1) secondArg=isSignedFloat.arguments[1]; if((s.charAt(0)=="-") || (s.charAt(0)=="+")) startPos=1; return (isFloat(s.substring(startPos, s.length), secondArg))}}
function isPositiveFloat(s){secondArg=DEOK;if(isPositiveFloat.arguments.length > 1) secondArg=isPositiveFloat.arguments[1];return (isSignedFloat(s,secondArg) && ((isEmpty(s) && secondArg) || (parseInt(s) > 0)));}
function isNegativeFloat(s){secondArg=DEOK;if(isNegativeFloat.arguments.length > 1) secondArg=isNegativeFloat.arguments[1];return (isSignedFloat(s,secondArg) && ((isEmpty(s) && secondArg) || (parseInt(s) < 0)));}

function isAlphabetic(s){i=0;if(isEmpty(s))if(isAlphabetic.arguments.length==1) return DEOK;else return (isAlphabetic.arguments[1]==true);for(i=0;i<s.length;i++){c=s.charAt(i);if(!isLetter(c)) return false;}return true;}
function isAlphanumeric(s){i=0;if(isEmpty(s))if(isAlphanumeric.arguments.length==1) return DEOK;else return (isAlphanumeric.arguments[1]==true);for(i=0;i<s.length;i++){c=s.charAt(i);if(!(isLetter(c) || isDigit(c))) return false;}return true;}
function isZipCode(s){return isValid(s,validZIPCodeChars);}

function Trim(fld){result="";c=0; for(i=0;i<fld.length;i++){if (fld.charAt(i) !=" " || c > 0){result +=fld.charAt(i);if (fld.charAt(i) !=" ") c=result.length;}}return result.substr(0,c);}
function isEmail(s){if(isEmpty(s))if(isEmail.arguments.length==1) return DEOK;else return(isEmail.arguments[1]==true);if(isWhitespace(s)) return false;i=1;sLength=s.length;while((i<sLength) && (s.charAt(i) !="@")){i++};if((i >=sLength) || (s.charAt(i) !="@")) return false;else i +=2;while((i < sLength) && (s.charAt(i) !=".")){i++};if((i >=sLength - 1) || (s.charAt(i) !=".")) return false;else return true;}
function isPassword(s){return !isShorter(s,PassLength) && isValid(s,lwr+upr + digits);};
function isLogin(s){return (!isShorter(s,LoginLength) && isValid(s,lwr + upr + digits));};
function validField(fld){fld=stripBlanks(fld);if(fld=='') return false;return true;}

function isMobPhoneNumber(s){if(isEmpty(s))if(isMobPhoneNumber.arguments.length==1) return DEOK; else return (isMobPhoneNumber.arguments[1]==true); return (isInteger(s) && s.length==digitsInPhoneNumber);}
function isFixPhoneNumber(s){if(isEmpty(s))if(isFixPhoneNumber.arguments.length==1) return DEOK; else return (isFixPhoneNumber.arguments[1]==true); return (isInteger(s) && s.length==digitsInPhoneNumber);}
function isInternationalPhoneNumber(s){if(isEmpty(s))if(isInternationalPhoneNumber.arguments.length==1) return DEOK; else return (isInternationalPhoneNumber.arguments[1]==true); return (isPositiveInteger(s)); }

function isYear(s){if(isEmpty(s))if(isYear.arguments.length==1)return DEOK; else return (isYear.arguments[1]==true); if (!isNonnegativeInteger(s)) return false; return (s.length==4);}
function isMonth(s){if(isEmpty(s))if(isMonth.arguments.length==1)return DEOK;else return (isMonth.arguments[1]==true);return isIntegerInRange(s,1,12);}
function isDay(s){if(isEmpty(s))if(isDay.arguments.length==1)return DEOK;else return (isDay.arguments[1]==true);return isIntegerInRange(s, 1, 31);}
function daysInFebruary(year){return(((year % 4==0) && ((!(year % 100==0)) || (year % 400==0) ) ) ? 29 : 28 );}
function isDate(year,month,day){if(!(isYear(year,false) && isMonth(month, false) && isDay(day, false))) return false; intYear=parseInt(year); intMonth=parseInt(month); intDay=parseInt(day); if (intDay > dInM[intMonth]) return false; if ((intMonth==2) && (intDay > daysInFebruary(intYear))) return false; return true; }

function isChecked(frm,ind){ return frm.elements[ind].checked; };

function getProValidateFieldValue(frm,p_ind){cur_field_name=frm.elements[p_ind].name.substring(2,frm.elements[p_ind].name.length);cur_field_prefics = frm.elements[p_ind].name.substring(0,2);found_field_ind=-1;for(gvind=0;((gvind<frm.elements.length) && (found_field_ind==-1));gvind++){if((cur_field_name==frm.elements[gvind].name.substring(2, frm.elements[gvind].name.length)) && (cur_field_prefics != frm.elements[gvind].name.substring(0,2))){found_field_ind=gvind; break;}}if(found_field_ind !=-1) return frm.elements[found_field_ind].value;else return -1;}
function getValidateField(frm,p_ind,ret_type){cur_field_name=frm.elements[p_ind].name.substring(2,frm.elements[p_ind].name.length);found_field_ind=-1;for(gvind=0;((gvind<frm.elements.length) && (found_field_ind==-1));gvind++){if(cur_field_name==frm.elements[gvind].name.substring(2, frm.elements[gvind].name.length))found_field_ind=gvind;}if(found_field_ind !=-1){if(ret_type=="type") return frm.elements[found_field_ind].name.charAt(1);else return frm.elements[found_field_ind].title;}else{return 0;}}
function isValidateField(frm,p_ind){validation_result=false;cur_field_name=frm.elements[p_ind].name.substring(2,frm.elements[p_ind].name.length);cur_field_type=frm.elements[p_ind].name.charAt(1);found_field_ind=-1;for(vind=0;((vind<frm.elements.length)&&(found_field_ind==-1));vind++){if((cur_field_type !=frm.elements[vind].name.charAt(1)) && (cur_field_name==frm.elements[vind].name.substring(2, frm.elements[vind].name.length)))found_field_ind=vind;}if(found_field_ind !=-1){if(frm.elements[found_field_ind].name.charAt(1)=="e"){validation_result=isEmail(frm.elements[p_ind].value);}else if(frm.elements[found_field_ind].name.charAt(1)=="p"){validation_result=isPassword(frm.elements[p_ind].value);}else{validation_result=false;}}else{validation_result=false;}return validation_result;}
function equalValidateField(frm,p_ind){validation_result=false;cur_field_name=frm.elements[p_ind].name.substring(2,frm.elements[p_ind].name.length);cur_field_type=frm.elements[p_ind].name.charAt(0);found_field_ind=-1;for(evind=0;((evind<frm.elements.length) && (found_field_ind==-1)); evind++){ if((cur_field_type !=frm.elements[evind].name.charAt(1)) && (cur_field_name==frm.elements[evind].name.substring(2, frm.elements[evind].name.length))) found_field_ind=evind; }if(found_field_ind !=-1){validation_result=(frm.elements[p_ind].value==frm.elements[found_field_ind].value);}else{validation_result=false;}return validation_result;}

function setNormalBackground(frm, ind){
if(frm.elements[ind].type.substring(0,6) !="select"){
frm.elements[ind].style.background = bgcolor_normal_1;
}else{
frm.elements[ind].style.background = bgcolor_normal_2;
}
}
function setErrorBackground(frm, ind){
frm.elements[ind].style.background = bgcolor_error;
}
function getFieldTitle(frm,ind){title_field=frm.elements[ind].title;if(title_field=="")title_field=frm.elements[ind].name.substring(3,frm.elements[ind].name.length);return title_field;}
function onSubmit(frm){return true;}

function onReqAlert(frm,ind,all_fields){
check_all_fields = (all_fields==null) ? false : true;
is_first_found = (is_found==null) ? false : is_found;
title_of_field=getFieldTitle(frm,ind);
setErrorBackground(frm, ind);
if(!is_first_found) frm.elements[ind].focus();
if(check_all_fields){
return "The <" + title_of_field + "> is a required field!\n";
}else{
alert("The <" + title_of_field + "> is a required field!\nPlease, enter a valid " + title_of_field + ".");
if(frm.elements[ind].type.substring(0,6) !="select"){ frm.elements[ind].select(); }
return false;
}
}

function onInvalidAlert(frm,ind,ftype,fstype,all_fields){
check_all_fields = (all_fields==null) ? false : true;
is_first_found = (is_found==null) ? false : is_found;
type_of_field="value";
title_of_field=getFieldTitle(frm,ind);
switch (fstype){ //supnly
case 's': syb_type_of_field="a signed "; break;
case 'u': syb_type_of_field="an unsigned "; syb_type_of_field2="an upper case"; break;
case 'p': syb_type_of_field="a positive "; break;
case 'n': syb_type_of_field="a negative "; syb_type_of_field2="a normal case "; break;
case 'l': syb_type_of_field="a lower case "; break;
default: syb_type_of_field="a "; syb_type_of_field2="a "; break;
}
switch (ftype){
case 'n': type_of_field="be "+syb_type_of_field+"numeric value"; break;
case 'i': type_of_field="be "+syb_type_of_field+"integer value"; break;
case 'f': type_of_field="be "+syb_type_of_field+"float(real) value"; break;
case 'a': type_of_field="be "+syb_type_of_field2+"alphabetic value"; break;
case 't': type_of_field="be "+syb_type_of_field2+"text"; break;
case 'p': type_of_field="be " + PassLength + " characters at least";
//\nand consist of letters and digits";
break;
case 'l': type_of_field="be " + LoginLength + " characters at least";
//,\nstart from letter and consist of letters or digits";
break;
case 'z': type_of_field="be a zip(post) code value"; break;
case 'e': type_of_field="be in email format"; break;
case 'v': if(getValidateField(frm, ind, "type")=="e")
type_of_field="be in email format";
else if(getValidateField(frm, ind, "type")=="p")
type_of_field="be " + PassLength + " characters at least";
else
type_of_field="be a required type";
break;
case 'c': type_of_field=""; break;
default: break;
}
setErrorBackground(frm, ind);
if(!is_first_found) frm.elements[ind].focus();
if(check_all_fields){
if(ftype == "c") return "You have to sign <" + title_of_field + "> box as checked!\n";
else return "The <" + title_of_field + "> field must " + type_of_field + "!\n";
}else{
if(ftype == "c") alert("You have to sign <" + title_of_field + "> box as checked!\n");
else alert("The <" + title_of_field + "> field must " + type_of_field + "!\nPlease, re-enter.");
if(frm.elements[ind].type.substring(0,6) !="select") frm.elements[ind].select();
return false;
}
}

function onNotEqualAlert(frm,ind,all_fields,is_found){
check_all_fields = (all_fields==null) ? false : true;
is_first_found = (is_found==null) ? false : is_found;
type_of_field=getValidateField(frm, ind, "name");
title_of_field=getFieldTitle(frm,ind);
if(type_of_field==0) type_of_field="required field";
setErrorBackground(frm, ind);
if(!is_first_found) frm.elements[ind].focus();
if(check_all_fields){
return "The <" + title_of_field + "> field must be match with " + type_of_field + "!\n";
}else{
alert("The <" + title_of_field + "> field must be match with " + type_of_field + "!\nPlease, re-enter.");
if(frm.elements[ind].type.substring(0,6) !="select") frm.elements[ind].select();
return false;
}
}


// parametr - check hidden fields+check display.none fileds
function onSubmitCheck(frm, handle_all_fields, handle_hidden_fields){
check_all_fields = (handle_all_fields == null) ? false : handle_all_fields;
check_hidden_fields = (handle_hidden_fields == null) ? false : handle_hidden_fields;
is_required="";
a_type="";
b_type="";
msg = "";
is_found = false;
for(ind=0;ind<frm.elements.length;ind++){
if((frm.elements[ind].type.substring(0,6) != "submit") && (frm.elements[ind].type.substring(0,6) != "button"))
setNormalBackground(frm,ind);
}
for(ind=0;ind<frm.elements.length;ind++){
if(!check_hidden_fields ){
if(frm.elements[ind].type.substring(0,6) == "hidden") continue;
}
is_required=frm.elements[ind].name.charAt(0);
a_type=frm.elements[ind].name.charAt(1);
b_type=frm.elements[ind].name.charAt(2);
if(!isSubmitSubVarType(b_type)) b_type = "";
true_value=true;
if(isSubmitReqType(is_required) && isSubmitVarType(a_type) && (frm.elements[ind].style.display !="none")){
field_value=frm.elements[ind].value; //trim
if(is_required=='r'){
if(isEmpty(field_value)){
if(check_all_fields){
msg += onReqAlert(frm,ind,check_all_fields,is_found);
is_found = true;
continue;
}else{
return onReqAlert(frm,ind);
}
}else{
setNormalBackground(frm,ind);
}
};
if(((is_required=='r') || ((is_required=='s') && (!isEmpty(field_value)))) ||
((a_type=='v') && (!isEmpty(getProValidateFieldValue(frm,ind))))
){
switch (a_type){
case 'c': if(!isChecked(frm,ind)) { true_value=false; } break;
case 'n': if(!isNumeric(field_value, 3)) { true_value=false; } break;
case 'i':
switch (b_type){
case 's': if(!isSignedInteger(field_value)) { true_value=false; } break;
case 'u': if(!isInteger(field_value)) { true_value=false; } break;
case 'p': if(!isPositiveInteger(field_value)) { true_value=false; } break;
case 'n': if(!isNegativeInteger(field_value)) { true_value=false; } break;
default: if(!isSignedInteger(field_value)) { true_value=false; } break;
}
break;
case 'f':
switch (b_type){
case 's': if(!isSignedFloat(field_value)) { true_value=false; } break;
case 'u': if(!isFloat(field_value)) { true_value=false; } break;
case 'p': if(!isPositiveFloat(field_value)) { true_value=false; } break;
case 'n': if(!isNegativeFloat(field_value)) { true_value=false; } break;
default: if(!isSignedFloat(field_value)) { true_value=false; } break;
}
break;
case 'a': if(!isAlphabetic(field_value)) { true_value=false; } break;
case 't': if(!isText(field_value)) { true_value=false; } break;
case 'e': if(!isEmail(field_value)) { true_value=false; } break;
case 'p': if(!isPassword(field_value)) { true_value=false; } break;
case 'y': if(!isAny(field_value)) { true_value=false; } break;
case 'l': if(!isLogin(field_value)) { true_value=false; } break;
case 'z': if(!isZipCode(field_value)) { true_value=false; } break;
case 'v': if(!isValidateField(frm, ind)) { true_value=false; }
else if(!equalValidateField(frm, ind)){
if(check_all_fields){
msg += onNotEqualAlert(frm, ind, check_all_fields,is_found);
}else{
return onNotEqualAlert(frm, ind);
}
is_found = true;
}
break;
default: break;
}
if(!true_value){
if(check_all_fields){
msg += onInvalidAlert(frm, ind, a_type, b_type, check_all_fields,is_found);
}else{
return onInvalidAlert(frm, ind, a_type, b_type);
}
is_found = true;
}
}
}
}
if(check_all_fields){
if(msg != ""){
alert(msg);
return false;
}
}
return true;
}
//-->
Back to top
View user's profile Send private message Send e-mail Visit poster's website
MaximusL
Newbie
Newbie


Joined: 16 Nov 2007
Posts: 3
:


Items

PostPosted: Wed Nov 21, 2007 3:39 pm    Post subject: Perfect Reply with quote

Now it's perfect for my needs. Thank you very much. It's a great script.
Back to top
View user's profile Send private message
     
Display posts from previous:   
This forum is locked: you cannot post, reply to, or edit topics.   This topic is locked: you cannot edit posts or make replies.    PHP Builder Forum Index -> JS AFV {developers/users} All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
PHP Builder topic RSS feed 


Powered by phpBB © 2001, 2005 phpBB Group

FREE FORUM HOSTING by AtFreeForum. Terms of Service - Privacy Policy
FASHION ACCESSORIES - BLING BLING - LADIES WATCHES - KOREAN CHILDREN CLOTHING - ONLINE BARGAIN STORE - FASHION JEWELLERIES