Die Syntax Katastrophe

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Die Syntax Katastrophe

    Ok, ich bin total neu auf dem Gebiet des JAvascripts aber hab da schon ein ganz übles Problm.

    Ich habe zwei select felder, die onchange die funktion fuellen() aufrufen. das klappt ja auch ohne weiteres.

    wenn die funktion fuellen() ausgeführt wird, wird in einem texteingabefeld die value des selbigen mit dem inhalt einer variable gefüllt. sprich da erscheint dann der text aus der variablen drin.

    jetzt zu dem problem.

    die variablen heissen z.B.

    blauauto = "ich habe ein blaues auto"
    gelbauto = "ich habe ein gelbes auto"
    blaulkw = "ich habe einen blauen lkw"
    gelblkw = "ich habe einen gelben lkw"

    nu zu den select boxen, da kann man nun in der ersten die farbe und in der zweiten den fahrzeugtyp einstellen.

    jetzt kommts aber zu der syntax von der ich keine ahnung habe.
    damit will ich ma verdeutlichen was ich will:

    function fuellen()
    {
    document.formular.ausgabe.value = document.formular.farbe.value+document.formular.fahrzeug.value
    }

    also aus der value der farbe selection und der value aus fahrzeugtyp value soll jetzt irgendwie der name von der variablen gepuzzlet werden. nur wie?

    wär nett wenn mir wer helfen könnte

  • #2
    kann mir echt niemand helfen oder sind meine fragen so lächerlich, dass mir niemand drauf antworten will?

    Kommentar


    • #3
      Re: Die Syntax Katastrophe

      hey, hab mal ein bisschen geduld ...

      also ich würd's folgendermaßen angehen:

      die auto-/farb-kombiantionen kommen in ein zweidimensionales array,
      Code:
      var farbeundauto = new Array;
      
      farbeundauto[0] = new Array ("ich habe ein blaues auto", "ich habe einen blauen lkw");
      farbeundauto[1] = new Array ("ich habe ein gelbes auto", "ich habe einen gelben lkw");
      so, auf der ersten ebene haben wir jetzt also die farbe, auf der zweiten den fahrzeugtyp.

      deine selectfelder bekommen jetzt als value die zugehörigen zahlen zugewiesen, gelb bekommt 0, blau 1, und auto bekommt 0, lkw 1.

      mit farbeundauto[1][0] bekommst du also "ich habe ein gelbes auto" heraus ...



      p.s.: kann sein, dass du die werte aus den selects nach dem auslesen über value noch mit parseInt() in "richtige" zahlen umwandeln musst, da javascript sie sonst als strings betrachtet. oder du umgehst diese klippe, in dem du gleich assoziative arrays, also mit zeichenketten als schlüsseln, verwendest ...
      I don't believe in rebirth. Actually, I never did in my whole lives.

      Kommentar


      • #4
        jo, danke ;-)
        mh, ich werd mich mal an die assoziativen arrays ranwagen ;-)

        ich hab da übrigens noch ein ganz blödes problem

        <script language="javascript">
        function fuellen()
        {
        document.eingabe.mobil.value=300;
        }
        </script>

        das funktioniert wunderbar. ich hab mal feste werte benutzt um zu schauen ob das mit dem onchange überhaupt funktioniert.

        wenn ich jedoch nun

        <script language="javascript">
        variable=300;
        function fuellen()
        {
        document.eingabe.mobil.value=variable;
        }
        </script>

        schreibe, dann bekomm ich im IE und auch mozilla immer den "Objekt erwartet" -Fehler.

        kann mir wer erklären wieso?

        Kommentar


        • #5
          variable=300;
          function fuellen() {...}

          ich denke mal, dass hier eventuell die variable nicht global ist, weil das schlüsselwort var fehlt.

          aber warum übergibst du nicht einfach einen parameter an die funktion?
          I don't believe in rebirth. Actually, I never did in my whole lives.

          Kommentar


          • #6
            @wahsaga etwas wirr heute?

            globale vars definiert man OHNE 'var', aber da es hier eine function ist, geht es nur so:
            Code:
            variable = 300;
            function fuellen(variable)
            {
            document.formular.ausgabe.value = document.formular.farbe.value+document.formular.fahrzeug.value
            }
            
            fuellen(variable);
            h.a.n.d.
            Schmalle

            http://impressed.by
            http://blog.schmalenberger.it



            Wichtige Anmerkung: Ich habe keine Probleme mit Alkohol ...
            ... nur ohne :-)

            Kommentar


            • #7
              Original geschrieben von schmalle
              @wahsaga etwas wirr heute?

              globale vars definiert man OHNE 'var'
              das gilt für die deklaration inerhalb einer funktion, zitat selfhtml: "Wenn Sie innerhalb von Funktionen Variablen ohne das Schlüsselwort var deklarieren, dann sind diese Variablen global."
              I don't believe in rebirth. Actually, I never did in my whole lives.

              Kommentar

              Lädt...
              X