Kai345: Checkbox als Variable setzen

Beitrag lesen

[latex]Mae  govannen![/latex]

<script language="JavaScript">

Hier fehlt das erforderliche "type"-Attribut mit dem entsprechenden mime-typ, das "language"-Attribut kann gelöscht werden

<!--

unnötig

var anzahl;

[...]

~~~javascript

var anzahl = window.prompt("Wie viele Fahrzeuge?", "");

Hier kannst du entweder die erste Zeile weglassen oder bei der zweiten das var entfernen.  
  

>~~~javascript

      if (fahrzeug == "Autos") {räder=anzahl*4};  

>      if (fahrzeug == "autos") {räder=anzahl*4};  
>      if (fahrzeug == "A") {räder=anzahl*4};  
>      if (fahrzeug == "a") {räder=anzahl*4};  
>      if (fahrzeug == "Motorräder") {räder=anzahl*2};  
>      if (fahrzeug == "motorräder") {räder=anzahl*2};  
>      if (fahrzeug == "M") {räder=anzahl*2};  
>      if (fahrzeug == "m") {räder=anzahl*2};  
>      if (fahrzeug == "Autos") {fahrzeug_ausgabe="Autos"};  
>      if (fahrzeug == "autos") {fahrzeug_ausgabe="Autos"};  
>      if (fahrzeug == "A") {fahrzeug_ausgabe="Autos"};  
>      if (fahrzeug == "a") {fahrzeug_ausgabe="Autos"};  
>      if (fahrzeug == "Motorräder") {fahrzeug_ausgabe="Motorräder"};  
>      if (fahrzeug == "motorräder") {fahrzeug_ausgabe="Motorräder"};  
>      if (fahrzeug == "M") {fahrzeug_ausgabe="Motorräder"};  
>      if (fahrzeug == "m") {fahrzeug_ausgabe="Motorräder"};  

Womit wir gelernt haben: Es gibt nicht nur eine div-Suppe, sondern auch eine if-Suppe

document.write("</font>");

11. Gebot: Du sollt nicht verwenden HTML-Elemente, die als "depreached" markiert sind. Nutze die http://de.selfhtml.org/css/index.htm@title=Macht

//-->

unnötig.

Nun habe ich mir gedacht, dass es ja Leute gibt, die sich vertippen (ist ja auch menschlich). Dann könnte man dem Besucher ja zwei Radiobuttons zur Auswahl geben - das eine für Autos, das andere für Motorräder -, dann klickt der Besucher eins an, wird dann aufgefordert die Zahl einzugeben (also die Anzahl) und dann erscheint der Text. Nun habe ich aber keine Ahnung wie ich das mit Radiobuttons hinkriegen soll.

Eine andere Alternative wäre es, die Eingabe entsprechend vorzubehandeln, z. B auf den Anfangsbuchstaben reduzieren (und dabei direkt die if-Suppe durch etwas sinnvolles zu ersetzen)

Beispiel:

   var satz, raeder, fahrzeug_ausgabe;  
   var fahrzeug = window.prompt("Autos oder Motorräder? Schreibe a für Autos und m für Motorräder!", "");  
   var anzahl = window.prompt("Wie viele Fahrzeuge?", "");  
   [link:http://de.selfhtml.org/javascript/sprache/bedingt.htm#switch@title=switch](fahrzeug.[link:http://de.selfhtml.org/javascript/objekte/string.htm#substr@title=substr](0,1).[link:http://de.selfhtml.org/javascript/objekte/string.htm#to_lower_case@title=toLowerCase]()) { // Übergibt ersten Buchstaben von variable fahrzeug , klein  
      case "a":  
         raeder = anzahl * 4;  
         fahrzeug_ausgabe = "Autos";  
         break;  
      case "m":  
         raeder = anzahl * 2;  
         fahrzeug_ausgabe = "Motorräder";  
         break;  
      default:  
         raeder = "eine unbekannte Anzahl";  
         fahrzeug_ausgabe = "unbekannte(s) Fahrzeug(e) [Eingabe:" + fahrzeug + "]";  
         break;  
   }  
   satz=anzahl+" "+fahrzeug_ausgabe+" haben "+raeder+" Räder.";  
   document.write(satz);

Damit hast du auch direkt eine Fehlerbehandlung für unbekannte Eingaben. Das Beispiel kann man natürlich noch entsprechend anpassen (z.B. die ersten zwei Buchstaben statt dem Ersten) und noch erweitern, z.B. daß geprüft wird, ob der Typ von anzahl numerisch ist ("hallo" * 4 wäre sinnfrei)

Cü,

Kai

--
„It's 106 miles to Chicago, we got a full tank of gas, half a pack of cigarettes, it's dark, and we're wearing sunglasses“.
„Hit it!“
Selfzeugs
SelfCode: sh:( fo:| ch:? rl:( br:< n4:( ie:{ mo:| va:) js:| de:> zu:) fl:( ss:| ls:? (leider nicht mehr verlinkt, da das Forum sonst bei jedem Beitrag meckert)