hey leute
hab folgendes problem... ich will ein kampfsimulationsprogramm für meine hompage machen (fürn browsergame) soweit so gut... ich hab ein formular erstellt in dem der nutzer seine angaben machen das meiste ist per dropdown menues.. aber für die anzahl der einheiten habe ich normale text input felder erstellt.... problem hierbei... nutzer kann unsinnige angaben machen... da das type="number" nicht funzt habe ich mir gedacht bzw im netz recherchiert (bin noch absoluter rookie =D) und herausgefunden das man via onsubmit und nem javascript den inhalt pruefen kann und das absenden an die nächste seite unterbinden kann...ähm...ja... bei einem feld funzt das prächtig aber sobald ich mehrere checken will ist ende im gelende.... ich habs dann versucht die eingegebenen daten in nem mehrdimensionalen assoziativem array zu speichern und ueber for schleifen alles abzurattern... und wer hätts gedacht?... ES FUNZT EINFACH NICHT -.-'
ich hoffe ihr könnt mir vielleicht helfen... oder ihr als erfahrene progger seht was mein anfänger auge nicht erblicken will/kann ^.~
MfG Volkan
PS: das ganze soll nachher in wordpress eingebunden werden ( und ja ich hab schon plugins die php und javascript erlauben bzw pure html was mir dann ein snippet (shortcode) gibt das ich dann einfach nur in die seite paste)
Code:
<html>
<head>
<script type=\"text/javascript\">
function checkAngaben() {
var units = new Array();
units[0] = new Object();
units[0]['length'] = document.Angaben.ganove.value.length;
units[0]['charAt'] = document.Angaben.ganove.value.charAt(i);
units[0]['value'] = document.Angaben.ganove.value;
units[0]['position'] = document.Angaben.ganove:
units[1] = new Object();
units[1]['length'] = document.Angaben.brand.value.length;
units[1]['charAt'] = document.Angaben.brand.value.charAt(i);
units[1]['value'] = document.Angaben.brand.value;
units[1]['position'] = document.Angaben.brand;
function checkIsNumeric() {
var check = 1;
for (i = 0; i < units.length; ++i) {
for (a = 0; a < units[i]['length']; ++a;)
if (units[i]['charAt'] < "0" units[i]['charAt'] > "9")
check = -1;
if (check == -1) {
alert("Bitte nur Zahlen von 0 - 10.000 angeben!");
document.units[i]['position'].focus();
return false;
}
}
function checkIsValid() {
var sum = 0;
for (i = 0; i < units.length; ++i) {
sum += units[i]['value'];
if (sum >= 10000) {
alert("Zuviele Einheiten, Sie können nicht soviele Einheiten Gleichzeitig entsenden:" + sum);
document.Angaben.ganove.focus();
return false;
}
}
}
}
}
</script>
</head>
<body>
<form name="Angaben" action="/?page_id=87" method="POST" onsubmit="return checkAngaben()">
<h3>Geben Sie die Anzahl der Einheiten an, mit denen Sie angreifen möchten!</h3>
<table border="0" cellpadding="5" cellspacing="0">
<tr>
<td align="right">Ganove:</td>
<td><input type="number" min="0" max="10000" size=10 name="ganove" maxlength="5" style="text-align:right;"></td>
</tr>
<tr>
<td align="right">Brandstifter:</td>
<td><input type="Text" size=10 name="brand" maxlength="5"style="text-align:right;"></td>
</tr>
</table>
<input type="submit" value="weiter">
</form>
</html>