# Bei einem Anmeldeformular die Eingabezahlen begrenzen



## 2000Burger (24. Feb 2007)

Hallo Leute, ich habe ein dringendes Problem, wäre nett, wenn mit jemand schnell und unkompliziert helfen könnte, das wär echt nett! Habe leider von java so wenig Ahnung, dass ich nichtmal genau weiß, wonach ich suchen soll in Javahilfen.

Ich habe auf meiner Webseite ein Anmeldeformular, wo man sich eintragen kann und angeben kann, wieviele Burger man bestellen will. Man darf aber nur max 2 Stellige Zahlen eingeben, und negative und Kommazahlen sollen ausgeschlossen werden. Das mit den Negativzahlen klappt aber nicht und es gibt immer wieder Idioten die hohe negative Zahlen eingeben und den Zähler so manipulieren.

Habe den Zähler nicht selber programmiert, verstehe manche Dinge, aber kenne den Befehl nicht, wie man negative Zahlen ausschließen kann.

Wer will kann sich das ganze in echt mal auf www.2000burger.de.ms ansehen. Ihr müsst nur auf den Banner klicken und dann kommt man zum Zähler. Danke schonmal!!!


Hier der Code




```
<html xmlns:v="urn:schemas-microsoft-com:vml"
xmlns:o="urn:schemas-microsoft-com:office:office"
xmlns:w="urn:schemas-microsoft-com:office:word"
xmlns="http://www.w3.org/TR/REC-html40">

<head>
<meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<meta name=ProgId content=Word.Document>
<meta name=Generator content="Microsoft Word 11">
<meta name=Originator content="Microsoft Word 11">
<link rel=File-List href="anmeldung-Dateien/filelist.xml">
<link rel=Edit-Time-Data href="anmeldung-Dateien/editdata.mso">
<!--[if !mso]>
<style>
v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style>
<![endif]-->
<title>Anmeldeformular</title>
<!--[if gte mso 9]><xml>
 <o:DocumentProperties>
  <o:Author>Christoph</o:Author>
  <o:LastAuthor>Christoph</o:LastAuthor>
  <o:Revision>3</o:Revision>
  <o:Created>2007-02-07T21:39:00Z</o:Created>
  <o:LastSaved>2007-02-09T19:10:00Z</o:LastSaved>
  <o:Pages>1</o:Pages>
  <o:Words>92</o:Words>
  <o:Characters>582</o:Characters>
  <o:Company>xy</o:Company>
  <o:Lines>4</o:Lines>
  <o:Paragraphs>1</o:Paragraphs>
  <o:CharactersWithSpaces>673</o:CharactersWithSpaces>
  <o:Version>11.5606</o:Version>
 </o:DocumentProperties>
</xml><![endif]--><!--[if gte mso 9]><xml>
 <w:WordDocument>
  <w:SpellingState>Clean</w:SpellingState>
  <w:GrammarState>Clean</w:GrammarState>
  <w:FormsDesign/>
  <w:HyphenationZone>21</w:HyphenationZone>
  <w:ValidateAgainstSchemas/>
  <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
  <w:IgnoreMixedContent>false</w:IgnoreMixedContent>
  <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>
  <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel>
 </w:WordDocument>
</xml><![endif]--><!--[if gte mso 9]><xml>
 <w:LatentStyles DefLockedState="false" LatentStyleCount="156">
 </w:LatentStyles>
</xml><![endif]-->
<style>
<!--
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
	{mso-style-parent:"";
	margin:0cm;
	margin-bottom:.0001pt;
	mso-pagination:widow-orphan;
	font-size:12.0pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";}
p
	{mso-margin-top-alt:auto;
	margin-right:0cm;
	mso-margin-bottom-alt:auto;
	margin-left:0cm;
	mso-pagination:widow-orphan;
	font-size:12.0pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";}
span.SpellE
	{mso-style-name:"";
	mso-spl-e:yes;}
span.GramE
	{mso-style-name:"";
	mso-gram-e:yes;}
@page Section1
	{size:595.3pt 841.9pt;
	margin:70.85pt 70.85pt 2.0cm 70.85pt;
	mso-header-margin:35.4pt;
	mso-footer-margin:35.4pt;
	mso-paper-source:0;}
div.Section1
	{page:Section1;}
-->
</style>
<!--[if gte mso 10]>
<style>
 /* Style Definitions */
 table.MsoNormalTable
	{mso-style-name:"Normale Tabelle";
	mso-tstyle-rowband-size:0;
	mso-tstyle-colband-size:0;
	mso-style-noshow:yes;
	mso-style-parent:"";
	mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
	mso-para-margin:0cm;
	mso-para-margin-bottom:.0001pt;
	mso-pagination:widow-orphan;
	font-size:10.0pt;
	font-family:"Times New Roman";
	mso-ansi-language:#0400;
	mso-fareast-language:#0400;
	mso-bidi-language:#0400;}
</style>
<![endif]--><!--[if gte mso 9]><xml>
 <o:shapedefaults v:ext="edit" spidmax="1026"/>
</xml><![endif]--><!--[if gte mso 9]><xml>
 <o:shapelayout v:ext="edit">
  <o:idmap v:ext="edit" data="1"/>
 </o:shapelayout></xml><![endif]-->
</head>


<body lang=DE style='tab-interval:35.4pt'>



<div class=Section1>

<p align=center style='text-align:center'><b style='mso-bidi-font-weight:normal'><span
style='font-size:18.0pt'>Anmeldeformular<o:p></o:p></span>[/b]</p>

<p align=center style='text-align:center'><b style='mso-bidi-font-weight:normal'><span
style='font-size:18.0pt'><o:p>&</o:p></span>[/b]</p>



<b style='mso-bidi-font-weight:normal'><span style='font-size:10.0pt'>Ich <span
class=SpellE>weiss</span> sieht sehr sporadisch aus, aber erfüllt seinen Zweck.<o:p></o:p></span>[/b]</p>



<b style='mso-bidi-font-weight:normal'><span style='font-size:10.0pt'>Bitte
nur <u>1x</u> eintragen und nur <u>1x</u> auf<u> Fertig</u> drücken, bei
Burgern die gar nicht gekauft werden bitte eine 0 eintragen. Alles sehr
instabil, aber ich hoffe es funtzt ;) hab das <span class=GramE>beste</span>
gegeben was meine bescheidenen Programierkünste herbeben. <o:p></o:p></span>[/b]</p>



<b style='mso-bidi-font-weight:normal'><span style='font-size:10.0pt'><o:p>&</o:p></span>[/b]</p>



<b style='mso-bidi-font-weight:normal'><span style='font-size:10.0pt'>WICHITG:
NUR Zahlen!!!!! KEINE Buchstaben!!!!<o:p></o:p></span>[/b]</p>



&</p>



<form name=kundenform method="post" onSubmit="return chkFormular()" action="Liste.php" enctype="application/x-www-form-urlencoded">



Name: <INPUT TYPE="text" NAME="Name" size=10></p>


PLZ/Wohnort: <INPUT TYPE="text" NAME="plz" size=5><INPUT TYPE="text" NAME="Ort"size=10></p>


Hamburger<INPUT TYPE="text" NAME="ham" value = 0 size=2> </p>


Cheeseburger <INPUT TYPE="text" NAME="cheese" value = 0 size=2></p>


Chickenburger <INPUT TYPE="text" NAME="chicken" value = 0 size=2>
<INPUT TYPE="hidden" NAME="versandt" value = ok size=2>
<INPUT TYPE="submit" VALUE="Fertig" NAME="Senden"></p>

</form>

</div>
<script type="text/javascript">
<!--
document.kundenform.Name.focus();

function chkFormular()
{
if(document.kundenform.Name.value == "")  
{
alert("Bitte Name eingeben!");
document.kundenform.Name.focus();
   return false;
}


if(document.kundenform.plz.value == "")  
{
alert("Bitte PLZ eingeben!");
document.kundenform.plz.focus();
   return false;
}

if (document.kundenform.plz.value.length != 5)
{
alert('Bitte Postleitzahl 5-stellig angeben.');
document.kundenform.plz.focus();
return false;
}

for(i=0;i<document.kundenform.plz.value.length;++i){
if(document.kundenform.plz.value.charAt(i) < "0" ||document.kundenform.plz.value.charAt(i) > "9")
{
alert("keine Sonderzeichen oder Buchstaben für PLZ");
document.kundenform.plz.focus();
return false;
}
}



if(document.kundenform.Ort.value == "")  
{
alert("Bitte Ort eingeben!");
document.kundenform.Ort.focus();
   return false;
}

for(i=0;i<document.kundenform.ham.value.length;++i){
if(document.kundenform.ham.value.charAt(i) < "0" ||document.kundenform.ham.value.charAt(i) > "9")
{
alert("keine Sonderzeichen oder Buchstaben für Hamburger");
document.kundenform.ham.focus();
return false;
}
}

if(document.kundenform.ham.value == "")  
{
alert("Bitte Burgeranzahl eingeben!");
document.kundenform.ham.focus();
   return false;
}

if(document.kundenform.ham.value < 0)  
{
alert("Gibt nur ganze Burger! ;-)");
document.kundenform.ham.focus();
   return false;
}

if (document.kundenform.ham.value.length > 2)
{
alert('Bitte max 2-stellig angeben.');
document.kundenform.ham.focus();
return false;
}


for(i=0;i<document.kundenform.cheese.value.length;++i){
if(document.kundenform.cheese.value.charAt(i) < "0" ||document.kundenform.cheese.value.charAt(i) > "9")
{
alert("keine Sonderzeichen oder Buchstaben für Cheeseburger");
document.kundenform.cheese.focus();
return false;
}
}



if(document.kundenform.cheese.value == "")  
{
alert("Bitte Burgeranzahl eingeben!");
document.kundenform.cheese.focus();
   return false;
}
if(document.kundenform.cheese.value < 0)  
{
alert("Gibt nur ganze Cheeseburger! ;-)");
document.kundenform.cheese.focus();
   return false;
}

for(i=0;i<document.kundenform.chicken.value.length;++i){
if(document.kundenform.chicken.value.charAt(i) < "0" ||document.kundenform.chicken.value.charAt(i) > "9")
{
alert("keine Sonderzeichen oder Buchstaben für Chickenburger");
document.kundenform.chicken.focus();
return false;
}
}



if (document.kundenform.chicken.value.length > 2)
{
alert('Bitte max 2-stellig angeben.');
document.kundenform.chicken.focus();
return false;
}
if(document.kundenform.chicken.value < 0)  
{
alert("Gibt nur ganze Chickenburger! ;-)");
document.kundenform.ham.focus();
   return false;
}

if(document.kundenform.ham.value == "")  
{
alert("Bitte Burgeranzahl eingeben!");
document.kundenform.ham.focus();
   return false;
}

if (document.kundenform.ham.value.length > 2)
{
alert('Bitte max 2-stellig angeben.');
document.kundenform.ham.focus();
return false;
}




var x = window.confirm("Alle Daten richtig? Letzte Chance zum Ändern der Burgerdaten");
 return x;







}






//-->
</script>
</body>

</html>
```


----------



## Wildcard (24. Feb 2007)

Was du da hast ist Javascript. Mit Java hat das nichts zu tun.


----------



## Guest (24. Feb 2007)

du kannst erstmal die zeilen 8-20, 22-53 und 90-114 bedenkenlos entfernen, das ist purer M$-Müll!
damit man in einem input-feld nicht mehr als 2 zeichen eingeben kann, braucht man kein JS, da genügt ein simples HTML-attribut zB 
	
	
	
	





```
<input type="text" name="hamburger" maxlength="2" />
```

Um die Eingaben von Zahlen durch den Benutzer erst für das JavaScript verwertbar zu machen, musst du die Werte der Input-Felder erst in Integer (Ganzzahlen) umwandeln, da Formularwerte immer als Strings behandelt werden. Das wäre dann so wie 
	
	
	
	





```
if ("hallo" >= 9)
```

daher:

```
var ham = parseInt(document.kundenform.ham.value); //Wandelt String in Integer um
if(ham < 0) 
{
alert("Gibt nur ganze Burger! ;-)");
document.kundenform.ham.focus();
   return false;
}
```


----------



## 2000Burger (24. Feb 2007)

Wie gesagt..ich habe ja keine Ahnung davon, habe es selber nicht geschrieben und bekommen es nicht besser hin. dann denn jemand mal das ganze richtig hier reinstellen, damit ich es dann versuchen kann, ob es klappt?


----------



## 2000Burger (24. Feb 2007)

also habe bischen was geändert, nun kann ich keine negativen zahlen mehr eingeben, aber wenn ich javaskript deaktiviere, gehts dennoch. wie kann ich das unterbinden?


----------



## heart_disease (24. Feb 2007)

naja, wozu ist das hier überhaupt gut?  :lol: 
lässt du leute über deine HP bei dir burger bestellen oder was? wenn ja, dann musst du das ja serverseitig mit PHP oder sonst was umgesetzt haben oder? und da ja jeder im browser JS deaktivieren kann, hat man sowieso keine chance, sowas kann nur am server abgeblockt werden.


----------



## 2000Burger (27. Feb 2007)

naja, es klappt jetzt teilweise..

guck doch einfach auf dei seite und mach mit ^^


----------

