ION Script source code:




<!-- Copyright (c) 1997-2002, Research Systems, Inc.  All rights reserved.
     Unauthorized reproduction prohibited. -->


<ION_SCRIPT>
<ION_HEADER>
  <APPLICATION>ION Script Examples</APPLICATION>
  <TITLE>Data Validation using JavaScript</TITLE>
  <AUTHOR>Research Systems, Inc.</AUTHOR>

  <EVENTS>    
    <EVENT_DECL NAME="SHOW3_BUTTON" ACTION="ion:///formValid2.ion" />
    <EVENT_DECL NAME="SHOW3_TEXT" ACTION="ion:///formValid2.ion" />
  </EVENTS>
</ION_HEADER>

<ION_BODY>

<SCRIPT LANGUAGE="JavaScript">
<!--

// This function verifies that the email address is valid.
// It could be made more robust.
function checkEmail(field) {
  if (field.value.indexOf("@") == -1) {
    alert("Enter a valid e-mail address");
    field.focus();
    field.blur();
    field.select();
    return false;
  }
  else {
    return true;
  }

}

// This function verifies that the data input is valid.
// It could be made more robust.
function checkData(field) {
  var vizNumber = parseInt(field.value);   
  if ((vizNumber) && (vizNumber >= 20) && (vizNumber <=100)) {
      return true;
  } else {
    alert("You must indicate a number between 20 and 100.");
    field.focus();
    field.blur();
    field.select();
    return false;
  }
}

// When form is submitted, we need to check email and data to verify validity.
function validateForm(form) {
  var retVal = true;

  if (!checkEmail(form.email)) {
    // failed email check
    retVal = false;
  }
  if (!checkData(form.SHOW3_TEXT)) {
    // failed Data check
    retVal = false;
  }
  return retVal;
}
// -->
</SCRIPT>


  <ION_FORM onSubmit="return validateForm(this)">
    <B>Enter your email address and data to visualize: </B><br> 

    Email address: 
    <INPUT      TYPE="TEXT" NAME="email" VALUE="" SIZE="15" onChange="checkEmail(this)"><br>

    Visualization data:
    <INPUT      TYPE="TEXT"   NAME="SHOW3_TEXT"    VALUE="30" onChange="checkData(this)"><br>

    <ION_BUTTON TYPE="BUTTON" EVENT="SHOW3_BUTTON" LABEL="Visualize" onSubmit="return validateForm(this)" />
  </ION_FORM>

</ION_BODY>
</ION_SCRIPT>