Anti-Spam Check for your email forms

Forms without coding

Our new forms capability doesn't require coding and saves all submissions in a database for easier processing. See Forms and Surveys for more information.

Please do not attempt this if you do not fully understand web forms and web form validation with javascript.

First add Random Number generators

Put this in your header with your form validation functions so these variables are created every time the page loads:

  
  function getRandom_0to10(){
    var seed = Math.random();
    //Multiply to create number 0.0-9.99, then round to integer
    return seed = Math.ceil(seed * 10);
  }
  var x = getRandom_0to10(); // this is "x"
  var y = getRandom_0to10(); // this is "y"
  var answer = x + y;        // this is what they add up to

Then add the line to your Form

    <p>Please add these two numbers:
    <script type="text/javascript">
      document.write(x + " + " + y +" = ");
    </script>
    <input name="arithmetic" type="text" class="add"
      id="arithmetic" value="" size="4" maxlength="2" />
    </p>
   

Which displays as (with actual random numbers replacing the "x" and "y"):

Please add these two numbers: x + y =

Then add validation for this item

Call validation from your onsubmit action on your form:

    <form id="survey" name="survey" method="post"
    onsubmit="return validateForm(this,answer)" 
    action="http://www.wwu.edu/cgi-bin/mailer2.cgi" >
    

Add this to your validation function:

   function validateForm(whichform,answer){
     var errmsg = "Please check your answer on the addition problem.";
     for (var i=0; i<whichform.elements.length; i++) {
        var element = whichform.elements[i];
	    ... //other validation here
	    //validate arithmetic
  	    if (element.className.indexOf("add") != -1){
	      if(element.value != answer){
			alert (errmsg);
	 		return false;
	      }
   	    } 
      }//end for
      return true;
    } //end function