topical media & game development

talk show tell print

#javascript-form-validate-script.js / js



  
  <!-- Paste this code into an external JavaScript file named: formvalidator.js  -->
  
  /* This script and many more are available free online at
  The JavaScript Source :: http://javascript.internet.com
  Created by: Amit Wadhwa :: http://amitwadhwa.fcpages.com/javascript.com/formvalidator.html */
  
  function checkThisForm(formname, submitbutton, errors) {
    if (errors == '') {
      eval(formname+'.'+submitbutton+'.disabled=true');
      eval('document.'+formname+'.submit()');
    } else {
      alert(errors);
    }
  }
  
  function checkText(formname, textboxname, displaytext) {
    var localerror = '';
    if(Trim(eval('document.'+formname+'.'+textboxname+'.value'))=='') {
      localerror =  '- '+displaytext+' is Required.\n';
    } else localerror = '';
    return localerror;
  }
  
  function checkNum(formname, textboxname, displaytext) {
    var localerror = '';
    if(isNaN(eval('document.'+formname+'.'+textboxname+'.value'))) {
      localerror =  '- '+displaytext+' Should Be A Number With No Spaces.\n';
    } else localerror = '';
    return localerror;
  }
  
  function checkSpaces(formname, textboxname, displaytext) {
    var valid = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_'; // define valid characters
    var localerror = '';
    if(!isValid(Trim(eval('document.'+formname+'.'+textboxname+'.value')), valid)) {
      localerror =  '- '+displaytext+' Should Not Contain Spaces.\n';
    } else localerror = '';
    return localerror;
  }
  
  function checkSelect(formname, selectboxname, displaytext) {
    var localerror = '';
    if(eval('document.'+formname+'.'+selectboxname+'.selectedIndex')==0) {
      localerror =  '- '+displaytext+' is Required.\n';
    } else localerror = '';
    return localerror;
  }
  
  function getRadio(formname, radioname, displaytext) {
    for (var i=0; i < eval('document.'+formname+'.'+radioname+'.length'); i++) {
      if (eval('document.'+formname+'.'+radioname+'[i].checked')) {
        var rad_val = eval('document.'+formname+'.'+radioname+'[i].value');
        return rad_val;
      }
    }
  }
  
  function checkRadio(formname, radioname, displaytext) {
    var localerror = '';
    var rad_val    = '';
    for (var i=0; i < eval('document.'+formname+'.'+radioname+'.length'); i++) { //check every radio button by that name
      if (eval('document.'+formname+'.'+radioname+'[i].checked'))  { //if it is checked
        rad_val += '-';
        }        else rad_val += '';
        }
      if (rad_val=='') {
        localerror =  '- '+displaytext+' is Required.\n';
      }
    return localerror;
  }
  
  function autoComplete (field, select, property) {
  /*onKeyUp="autoComplete(this,this.form.selectboxname,'value',false)" - add this to textbox where you are typing*/
    var found = false;
    for (var i = 0; i < select.options.length; i++) {
      if (select.options[i][property].toUpperCase().indexOf(field.value.toUpperCase()) == 0) {
        found=true; break;
      }
    }
    if (found) {
      select.selectedIndex = i;
    } else {
      select.selectedIndex = -1;
    }
    if (field.createTextRange) {
      if (!found) {
        field.value=field.value.substring(0,field.value.length-1);
        return;
      }
      var cursorKeys ="8;46;37;38;39;40;33;34;35;36;45;";
      if (cursorKeys.indexOf(event.keyCode+";") == -1) {
        var r1 = field.createTextRange();
        var oldValue = r1.text;
        var newValue = found ? select.options[i][property] : oldValue;
        if (newValue != field.value) {
          field.value = newValue;
          var rNew = field.createTextRange();
          rNew.moveStart('character', oldValue.length) ;
          rNew.select();
        }
      }
    }
  }
  
  function Trim(s) {
    while ((s.substring(0,1) == ' ') || (s.substring(0,1) == '\n') || (s.substring(0,1) == '\r')) {
      s = s.substring(1,s.length);
    }
    while ((s.substring(s.length-1,s.length) == ' ') || (s.substring(s.length-1,s.length) == '\n') || (s.substring(s.length-1,s.length) == '\r')) {
      s = s.substring(0,s.length-1);
    }
    return s;
  }
  
  function isValid(string,allowed) {
  //  var valid = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'; // define valid characters
      for (var i=0; i< string.length; i++) {
        if (allowed.indexOf(string.charAt(i)) == -1) return false;
      }
      return true;
  }
  
  


(C) Æliens 20/2/2008

You may not copy or print any of this material without explicit permission of the author or the publisher. In case of other copyright issues, contact the author.