Do not use document.write ! You will be obliged to reload the page to rerun the script.
Build your page with the following scheme
Code:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="generator" content="PSPad editor, www.pspad.com">
<title>Prime numbers</title>
<style type="text/css">
input{width:40px;text-align:center}
</style>
</head>
<body>
<h1>Prime numbers</h1>
<!-- a container for the first response -->
<div id="rsp"></div>
<!-- three inputs for entries and a button-->
<p>Displaying the primes between to intergers</p>
<label>Min value <input id="mnv" type="text" value=""></label>
<label>Max value <input id="mxv" type="text" value=""></label>
<input type="button" value="Ok" onclick="calcPrim()">
<!-- a new container for the second response -->
<div id="rsq"></div>
<!-- The script at the end of the body with a type instead of a language -->
<script type="text/javascript">
// Your script
l=1000;n=3;p=1;
primes = new Array()
primes[0]=2;
while (n<=l){q=1;
while (primes[q]<=Math.floor(Math.sqrt(n)) && n/primes[q]!=Math.round(n/primes[q])){q++;}
if ((n-1)/1000==Math.round((n-1)/1000)){document.getElementById('rsp').innerHTML=<p>"Numbers checked so far: "+(n-1)+"</p>";}
if (n/primes[q]!=Math.round(n/primes[q])){primes[p]=n;p++;}
n+=2;}
document.getElementById('rsp').innerHTML="What follows next are prime numbers:<br>"+primes.join(", ");
// A function to read the values and to display the result
function calcPrim(){
// the + sign convert the values to numbers
var min=+document.getElementById('mnv').value;
var max=+document.getElementById('mxv').value;
// A first test to improve (see isNaN)
if (!min || !max) {alert("Please fill the min and max values !");return}
// the calculation
// Dislaying the results
document.getElementById('rsq').innerHTML="<p><i>I have only to write the script to list the primes between "+min+" and "+max+".</i></p>";
}
</script>
</script>
</body>
</html>
Bookmarks