# Thread: window.prompt positioning help with prime function

1. Registered User
Join Date
Nov 2012
Posts
3

## window.prompt positioning help with prime function

Hey i was asked to write two programs. one that determines if an integer is a prime and another to state all the primes between two integers. I have written the first and it works perfectly fine (if not a little over complicated) but I'm having trouble with the second.
I worked out the basic algorithm for it but i cant for the life of me work out how to incorporate two window.promt() into the code without messing it up. there meant for a low and high number for the user to input before receiving all the primes in between those numbers. Here is the basic code.

<html>
<body>
<script language="javascript">

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)){window.status="Numbers checked so far: "+(n-1);}
if (n/primes[q]!=Math.round(n/primes[q])){primes[p]=n;p++;}
n+=2;}
document.write ("What follows next are prime numbers:<br>"+primes.join(", "));
</script>
</body>
</html>

I apologise for how messy it is. help would be appreciated I wont have any hair left to pull out soon

2. Registered User
Join Date
Mar 2009
Posts
452
why don't you use forms instead of window.prompt ?

3. Registered User
Join Date
Oct 2010
Location
Versailles, France
Posts
1,290
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>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<title>Prime numbers</title>
<style type="text/css">
input{width:40px;text-align:center}
</style>
<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">

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>```