/*---------------------- contact form validation ----------------------*/ function validate_form(formObj) { //alert(document.forms[formObj].elements.length); /*null allowed list -> designate fields that are NOT required*/ var nullAllowList = new Array(); nullAllowList[0] = "phone"; nullAllowList[1] = "site"; nullAllowList[2] = "message"; nullAllowList[3] = "hP"; nullAllowList[4] = "pageName"; var nullAllow = false; for(i=0;i<=(document.forms[formObj].elements.length - 1);i++){ if(document.forms[formObj].elements[i].value==""){ for(x=0;x<= nullAllowList.length;x++){ if(document.forms[formObj].elements[i].name == nullAllowList[x]){ nullAllow = true; //alert("this field is allowed to be null"); break; }else{ nullAllow = false; //alert("this field is NOT allowed to be null"); } } if(nullAllow == false){ document.forms[formObj].elements[i].focus(); document.forms[formObj].elements[i].style.background="#F9C0C0"; //document.forms[1].elements[i].parentNode.getElementsByTagName('label')[0].style.background="#0fffff"; //document.forms[1].elements[i].parentNode.getElementsByTagName('label')[0].innerHTML += "field required"; document.forms[formObj].elements[i].parentNode.getElementsByTagName('label')[0].getElementsByTagName('span')[1].style.display="inline"; return false; } } } //returns true to variable in contactSubmit() return true; } /*------------------------------------------------------------ gN Contact AJAX data submission/reponse - !! as of right now seems that changing attribute.type might not work (making this impossible) - !! not implemented -----------------------------------------------------------*/ function contactSubmit() { var valid = validate_form("contactForm"); if(valid) { jQuery(document).ready(function() { //show sending msg $("#contactResponse").css("display", "block"); $("#contactResponse span").text("Sending Data..."); //disable submit button $('#contactSubmitBtn').attr("disabled", "disabled"); // To disable $('#contactSubmitBtn').addClass('disable'); //serialize form data var formData = $("form#contactForm").serialize();//serialize from array into querystring values //$("#contactResponse").text(gNFormData); test of serialized data $.ajax({ type: "POST", url: "/contactHandler.php", data: formData, success: function(html){ $("#contactResponse span").text(html); $('#contactSubmitBtn').removeAttr("disabled"); // To enable btn $('#contactSubmitBtn').removeClass('disable'); // removedisabled style //start timers setTimeout("closeForm()",2000); } }); }); }else { //alert("not valid"); } } function closeForm() { jQuery(document).ready(function() { $("#contactResponse").css("display","none"); contactFormAnim(); clearFormData("contactForm"); }); } function clearFormData(formObj) { jQuery(document).ready(function() { //var form = "#"+formObj; for(i=0;i<=(document.forms[formObj].elements.length - 1);i++){ if($(document.forms[formObj].elements[i]).attr("type") != "button") { //if not submit btn document.forms[formObj].elements[i].value=""; } } }); }