topical media & game development

talk show tell print

basic-javascript-10-CalcFactorial.htm / htm



  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
  "http://www.w3.org/TR/html4/loose.dtd">
  <html>
  <head>
  <title>Example</title>
  <script language="JavaScript" type="text/javascript">
  function butCalculate_onclick()
  {
     try
     {
        if (window.top.calcFactorial == null)
           throw "This page is not loaded within the correct frameset";
        if (document.form1.txtNum1.value == "")
           throw "!Please enter a value before you calculate its factorial";
        if (isNaN(document.form1.txtNum1.value))
           throw "!Please enter a valid number";
        if (document.form1.txtNum1.value < 0)
           throw "!Please enter a positive number";
        document.form1.txtResult.value =
           window.parent.calcFactorial(document.form1.txtNum1.value);
     }
     catch(exception)
     {
        if (typeof(exception) == "string")
        {
           if (exception.charAt(0) == "!")
           {
              alert(exception.substr(1));
              document.form1.txtNum1.focus();
              document.form1.txtNum1.select();
           }
           else
           {
              alert(exception);
           }
        }
        else
        {
           if (exception.description == null)
           {
  alert("The following error occurred " + exception.message)
           }
           else
           {
              alert("The following error occurred " + exception.description);
           }
        }
     }
  }
  </script>
  </head>
  <body>
  <form name="form1">
     <input type="text" name=txtNum1 size=3> factorial is 
     <input type="text" name=txtResult size=25><br>
     <input type="button" value="Calculate Factorial"
        name=butCalculate onclick="butCalculate_onclick()">
  </form>
  </body>
  </html>
  


(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.