Hallo,
ich habe ein Script zur berechnung von Zufallsgrößen geschrieben! Dabei kann der Benutzer über die Eingabe der Anzahl der Auswahlmöglichkeiten(checkboxen) ein dynamisches Formular erstellen, eine Art Lottoscript, wenn man so will! Da es aber extrem nervig ist evtl. 50 Kreuzchen zu machen möchte ich die checkboxen per button zufällig auf checked setzen, was allerdings nicht klappt (im folgenden Script sind die Problemstellen kommentiert, die funktion zufall & de´r Button mit der ID "btn2")
hier nochmal das Script im Web
wäre nett wenn mir jamand 'n Tipp geben könnte woran die Sache hängt, bin für jede Antwort dankbar!
mfg. M.Döring
ich habe ein Script zur berechnung von Zufallsgrößen geschrieben! Dabei kann der Benutzer über die Eingabe der Anzahl der Auswahlmöglichkeiten(checkboxen) ein dynamisches Formular erstellen, eine Art Lottoscript, wenn man so will! Da es aber extrem nervig ist evtl. 50 Kreuzchen zu machen möchte ich die checkboxen per button zufällig auf checked setzen, was allerdings nicht klappt (im folgenden Script sind die Problemstellen kommentiert, die funktion zufall & de´r Button mit der ID "btn2")
HTML:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
</head>
<body>
<style type="text/css">
</style>
<script type="text/javascript">
function fakultaet(zahl1) {
var i = 1,j=1;
var zahl = zahl1;
while(i<=zahl1) {
j=j*i;
i = i + 1;
}
return j;
}
function $(x) {
return document.getElementById(x);
}
function comb(n,k) {
var ergebnis = (fakultaet(n))/(fakultaet(n-k)*fakultaet(k));
document.getElementById('result').innerHTML = "Es gibt " + ergebnis + " Möglichkeiten";
return false;
}
function test1() {
alert("test2");
return false;
}
function checkanz() {
var ges_anz = $('sz1').value;
var anz = $('sz2').value;
for (i=1;i<=ges_anz;i++) {
if ($('id' + i).checked) anz--;
}
if (anz<=0) {
for (i=1;i<=ges_anz;i++) {
if (!$('id' + i).checked) $('id' + i).disabled = true;
}
} else {
for (i=1;i<=ges_anz;i++) {
$('id' + i).disabled = false;
}
}
}
function rand (min, max) {
return Math.floor(Math.random() * (max - min + 1)) + min;
}
function in_array(item,arr) {
for(p=0;p<arr.length;p++) if (item == arr[p]) return true;
return false;
}
function zufall(){ //An dieser Funktion hängt's
var zufall = new Array();
for(var l=k;l>0;l--){
zufallszahl=rand(0,n);
if(!in_array(zufallszahl,zufall)){
zufall.push(zufallszahl);
document.getElementById('id' + zufallszahl).checked="checked";}
else{
l++}
}
}
function getform(a,b) {
if(b>a){
alert('Fehler');
exit(); }
if(a>200){
alert('Fehler');
exit(); }
var z=0;
var str='';
str = '<form name="formular" id="formular" action="report.php" method="post"><table><tr>';
while(a>0){
str = str + '<td><input type="checkbox" id="id' + a + '" name="name[]" value="' + a +'">' + a + '</td>';
if((z % 10)==9) str = str + '</tr>';
if(((z++ % 10)==9) && (a>3)) str = str + '<tr>';
a--;
}
str = str + '</tr></table><input type="hidden" name="submit1" value="' + document.getElementById("sz1").value + '"><input
type="hidden" name="submit2" value="' + document.getElementById("sz2").value + '"><button
id="btn">berechnen</button></form><button id="btn2" onclick="zufall();return false;">zufall</button>'; // ...und an diesem Button (btn2)
document.getElementById('form').innerHTML = str;
for (i=1;i<=$('sz1').value;i++) {
$('id' + i).onclick=checkanz;
}
}
</script>
<div id="div1"><form name="sz">
<input type="text" name="sz1" id="sz1" value="Aus n Zahlen..." onfocus="this.value=''">
<input type="text" name="sz2" id="sz2" value="... k auswählen" onfocus="this.value=''">
<button id="btn1"
onclick="getform(parseInt(document.getElementById('sz1').value),parseInt(document.getElementById('sz2').value)); return
false;">senden</button>
</form></div>
<div id="result"></div>
<div id="form"></div>
</body>
</html>
hier nochmal das Script im Web
wäre nett wenn mir jamand 'n Tipp geben könnte woran die Sache hängt, bin für jede Antwort dankbar!
mfg. M.Döring