Hi,
Die meisten hier vermeiden entsprechende Szenarien, da sie per se problematisch sind - ob nun wegen Variablen, weil die Seite nicht gebookmarkt werden kann (Usability) oder wegen anderer Gründe.
Du meinst, weil man diese Seite nicht mit einem feststehenden Eingabewert bookmarken könnte?
Das Problem _nicht_ ganz anders zu lösen würde ich mit dem Attribut "Not" versehen ;-)
Dann bitte ich doch glatt um einen Tipp, wie man das am besten lösen könnte - ah, ich höre schon "serverseitig" - aber ich will doch im Moment JavaScript lernen... Meine momentane Lösung sieht so aus wie unten angefügt (mit viel Hilfe des SelfHTML-Archivs).
cu,
Nils
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head>
<title>Primzahlen</title>
<script type="text/javascript">
<!--
function primCheck()
{
var prim = true;
var zahl = document.test.eingabe.value;
var alleTeiler='';
if(zahl>0)
{
for(var i=2;i<=(zahl/2);i++) // Teiler können max zahl/2 werden
{
if((zahl % i)==0)
{
if(prim)
{
alleTeiler = zahl+' ist keine Primzahl. Die Teiler sind:<br>'
}
prim = false;
alleTeiler += '<br>'+i;
}
}
schreibe(prim,zahl,alleTeiler);
}
}
function schreibe(prim,zahl,alleTeiler)
{
if (prim)
{
if (document.getElementById)
document.getElementById('teilerListe').innerHTML = zahl+' ist eine Primzahl.';
else if (document.all)
document.all['teilerListe'].innerHTML = zahl+' ist eine Primzahl.';
else if (document.layers)
{
document.layers['teilerListe'].document.open ();
document.layers['teilerListe'].document.write (zahl+' ist eine Primzahl.');
document.layers['teilerListe'].document.close ();
}
}
else
{
if (document.getElementById)
document.getElementById('teilerListe').innerHTML = alleTeiler;
else if (document.all)
document.all['teilerListe'].innerHTML = alleTeiler;
else if (document.layers)
{
document.layers['teilerListe'].document.open ();
document.layers['teilerListe'].document.write (alleTeiler);
document.layers['teilerListe'].document.close ();
}
}
}
//-->
</script>
</head>
<body>
<form name="test">
<input type="text" name="eingabe">
<input type="submit" onClick="primCheck();return false;" value="Primzahl?">
</form>
<div id="teilerListe" style="position:absolute;top:70px;left:10px;"> </div>
</body></html>