Christian: Quiz

Ich versuche ein Quiz zu schreiben aber ich habe einige kleine Probleme wie z.B. mit toUpperCase.
Bin schon mit meinen Nerven am Ende und würde wirklich HILFE gebrauchen.
Und wenn es möglich ist meinen Javascript"Stil" beibehalten.
Also ich bin für jeden gefunden Fehler dankbar.
Wäre nett wenn man mir das gesamte richtig verbessere Irgendwie hineinstellt und wenn möglich mit einer kurzerklärung. -DANKE

<HTML>
<HEAD>
<TITLE> Quiz </TITLE>
<SCRIPT LANGUAGE="JavaScript" type="text/javascript"><!--
 var fragen=new Array ( ) ;
 fragen [0]="Wie heißt die Hauptstadt von Frankreich?" ;
 fragen [1]="Wie heißt die Hauptstadt von Deutschland?" ;
 fragen [2]="Wie heißt die Hauptstadt von England?" ;
 fragen [3]="Wie heißt die Hauptstadt von Österreich?" ;
 var antworten=new Array ( ) ;
 antworten [0]="Paris" ;
 antworten [1]="Berlin"
 antworten [2]="London"
 antworten [3]="Wien"
 var zaehler=0;

function befrage (frage,antwort)
{
 var eingabe=window.prompt (frage,"Gib hier die Lösung ein");
 if (eingabe=null){
  window.alert ("Bis zum nächsten mal.")
 } else {
  eingabe=eingabe .toUpperCase ();
  if (antwort=eingabe){
   window.alert ("Bravo! Richtige Antwort.")
   zaehler +=1;
  } else {
   window.alert ("Leider die Falsche Antwort");
  }
 }
}

function quiz_start ()
 {
  befrage
   for ( var i=0;3<fragen.length; i++){
    befrage (fragen [i], antworten [i]);
  }
  if (zaehler==fragen.length ) {
   window.alert ("Sie haben alles gewußt, prima!");
  }
  if (zaehler>=Math.round (fragen.length/2)) {
   window.alert ("Sie haben immerhin mehr als die Hälfte gewußt!");
  }
   if (zaehler<Math.round (fragen.length/2)) {
   window.alert ("Sie haben noch nicht einmal die Hälfte gewußt!");
  }
   if (zaehler==0) {
   window.alert ("Sie haben ja gar nichts gewußt.");
  }
 zaehler=0
}
//--></SCRIPT>
</HEAD>
<BODY>
 <table>
  <tr><th>Teste dein Wissen </th></tr>
  <tr>
  <td align="center">
   <form name="formular">
    <input type="button" value="Quiz starten"
     onClick="quiz_start()">
   </form>
  </td></tr>
 </table>
</BODY>
</HTML>

  1. Hallo Christian,

    beim schnellen Überfliegen gefunden:

    if (eingabe=null){

    Vergleich mit ==

    eingabe=eingabe .toUpperCase ();

    Zugriff auf Objekte ohne Leerzeichen: eingabe.toUpperCase()

    for ( var i=0;3<fragen.length; i++){

    sollte hier nicht i<fragen.length; hin?

    Gruß, Jürgen

    1. Moin

      eingabe=eingabe .toUpperCase ();
      if (antwort=eingabe){

      selbst wenn du das Leerzeichen vor .toUpperCase entfernst und mit == vergleichst wirst du niemals richtige Antworten bekommen, denn die Vorgaben enthalten bei dir auch kleine Buchstaben.

      function quiz_start ()
      {
      befrage

      lösche hier befrage

      Gruß
      rfb

      --
      Man kann einen Menschen nichts lehren, man kann ihm nur helfen, es selbst zu entdecken.
      (Galileo Galilei)
      1. Hallo rfb,

        Du bist offensichtlich tiefer oder langsamer geflogen. :)

        Gruß, Jürgen

    2. Danke für die Hilfe.
      Jetzt funktioniert es.

      Gruß, Christian