Schlangi: weiterrechnen mit wert (javascript)

<script type="text/javaScript">
function calc()
{wert1 = parseFloat( document.calcform.wert1.value.replace(/,/ , ".") );
 wert1 = Math.sqrt ((wert1*wert1)-(4.5*4.5));
 wert2 = -4/5*wert2 + 13;
 document.calcform.wert1.value = Math.round(wert1*100)/100;
 document.calcform.wertt2.value = Math.round(wert2*100)/100;}
</script>

Habe dieses Script, soweit klappt auch alles gut. Wert1 kann man auswählen und das, was dabei rauskommt, soll weiterverwendet werden zum rechnen in wert2. d.h. beispielsweise kommt 4 raus, dann soll mit formel1 weitergerechnet werden und das ergebnis angezeit werden, kommt aber 7 raus, soll mit formel2 gerechnet werden, usw.

ich hoffe das ist verständlich.
kann mir da bitte jemand helfen? danke.

  1. Hi,

    ich hoffe das ist verständlich.

    Nein - wo jetzt eigentlich dein *Problem* liegt, ist ziemlich unverständlich.

    Wert1 kann man auswählen und das, was dabei rauskommt, soll weiterverwendet werden zum rechnen in wert2.

    Dann setze die Variable einfach in die Formel ein - *wo* ist da das Problem ...?

    MfG ChrisB

    --
    RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
    1. also zweiter versuch:

      ich gebe eine wert ein (z.b. 10), dann wird mit der ersten formel gerechnet, mit dem ergebnis (ergebnis1) soll dann ein zweite formel angewandt werden, aber dabei gibt es mehrere auswahlmöglichkeiten, welche formel verwendet werden soll. wenn ergebnis1 < x1 dann formel1, wenn ergebnis1 > x1 aber < x2 dann formel2 und wenn ergebnis1 > x2 dann formel3
      das ergebnis soll dann angezeigt werden. jetzt verstanden?

      1. Hi,

        ich gebe eine wert ein (z.b. 10), dann wird mit der ersten formel gerechnet, mit dem ergebnis (ergebnis1) soll dann ein zweite formel angewandt werden, aber dabei gibt es mehrere auswahlmöglichkeiten, welche formel verwendet werden soll. wenn ergebnis1 < x1 dann formel1, wenn ergebnis1 > x1 aber < x2 dann formel2 und wenn ergebnis1 > x2 dann formel3

        Ja gut, dann mach das doch - wo liegt dein *Problem* dabei?

        Die „Auswahlmöglichkeiten“ sind dabei natürlich keine solchen, sondern es sind Bedingungen - und die setzt man mit if/else um.

        jetzt verstanden?

        Du offenbar immer noch nicht.

        MfG ChrisB

        --
        RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
        1. Ich weiss aber nicht, wie ich mit dem if/else das zum weiterrechnen benutzen kann. also wie ich die if-bedngungen schreiben muss.
          weiss nur wie ich if mit alert anwende, so ein ausgabefesnter will ich aber nicht.

          1. Hi,

            Ich weiss aber nicht, wie ich mit dem if/else das zum weiterrechnen benutzen kann. also wie ich die if-bedngungen schreiben muss.

            Beschäftige dich mit JavaScript-Grundlagen.
            http://de.selfhtml.org/javascript/sprache/bedingt.htm

            weiss nur wie ich if mit alert anwende, so ein ausgabefesnter will ich aber nicht.

            Dann ersetze den Code, der das „Fenster“ erzeugt, mit anderem Code - bspw. solchem, der eine Berechnung anstellt.

            MfG ChrisB

            --
            RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
            1. habe das ja auch alles mit dem alert-fenster hinbekommen, klappt ja auch, ich weiss nur nicht, wie ich das ergebnis statt alert weiterberechnen kann. was muss ich da dann schreiben?

              1. Hi,

                habe das ja auch alles mit dem alert-fenster hinbekommen, klappt ja auch, ich weiss nur nicht, wie ich das ergebnis statt alert weiterberechnen kann. was muss ich da dann schreiben?

                das:

                Dann ersetze den Code, der das „Fenster“ erzeugt, mit anderem Code - bspw. solchem, der eine Berechnung anstellt.

                das Beispiel aus selfhtml:

                if (Eingabe != Passwort) {  
                    alert("Falsches Passwort!");  
                  } else {  
                    location.href = "geheim.htm";  
                  }
                

                Anstelle von Eingabe != Passwort musst du natürlich deine Überprüfung auf die Werte benutzen.

                Und dann anstelle des alerts die gewünschte Berechnung:

                if (wert1 < x1) {  
                    Hierhin die Formel  
                  } else {  
                    location.href = "geheim.htm";  
                  }
                

                Den else-Zweig auch entsprechend anpassen, fertig.

                ~dave (motiviert von kalle

                1. if (wert1 < x1) {

                  Hierhin die Formel
                    } else {
                      location.href = "geheim.htm";
                    }

                  
                  >   
                  > Den else-Zweig auch entsprechend anpassen, fertig.  
                  >   
                    
                    
                  ich bin zu doof dafür :(  
                    
                  wie genau muss die Formel denn aussehen? Bei mir rechnet der da nicht. ich hab das jetzt so geschrieben:  
                    
                  wert1 = parseFloat( document.calcform.wert1.value.replace(/,/ , ".") );  
                  wert2 = Math.sqrt ((wert1\*wert1)-(4.5\*4.5))  
                                if (wert2 < 5) {  
                                (-7/5\*wert21+16)  
                                { else (wert2 > 5) {  
                                (-4/5\*wert2+13)  
                                }  
                    
                  d. h. wert1 wird eingeben, dann rechnet der damit [Math.sqrt ((wert1\*wert1)-(4.5\*4.5))], das klappt ja auch. und mit dem ergebnis, je nachdem, was da rauskommt, soll er eine bestimmte formel anwenden, welches ergebnis, dann angezeigt wird.  
                  
                  
                  1. wie genau muss die Formel denn aussehen? Bei mir rechnet der da nicht. ich hab das jetzt so geschrieben:

                    Wer ist "der da"? Was heißt "rechnet nicht"?
                    Du musst schon versuchen, dein Problem auch für Aussenstehende verständlich zu machen, sonst wird es schwer dir zu helfen.

                    wert1 = parseFloat( document.calcform.wert1.value.replace(/,/ , ".") );
                    wert2 = Math.sqrt ((wert1*wert1)-(4.5*4.5))

                    Das sieht Fehlerfrei aus, ich würde aber die Variabeln mit var deklarieren.

                    if (wert2 < 5) {
                                  (-7/5*wert21+16)

                    Das wiederrum ergibt keinen richtigen Sinn. Du rechnest zwar etwas, es passiert aber mit dem wert nichts.  Ausserdem ist wert21 nirgends definiert.

                    { else (wert2 > 5) {

                    Hier ist ein Syntaxfehler, den dein Browser auch anzeigen sollte. Du weißt wo du in deinem Browser die Fehlermeldungen findest?

                    (-4/5*wert2+13)
                                  }

                    d. h. wert1 wird eingeben, dann rechnet der damit [Math.sqrt ((wert1*wert1)-(4.5*4.5))], das klappt ja auch. und mit dem ergebnis, je nachdem, was da rauskommt, soll er eine bestimmte formel anwenden, welches ergebnis, dann angezeigt wird.

                    Du musst das Ergebnis deiner Berechung irgendwo festhalten, entweder in einer Variabel oder du gibst sie direkt aus. Wenn du den Wert lediglich anzeigen willst, dann reicht ein alert();

                    Struppi.

                    1. wert1 = parseFloat( document.calcform.wert1.value.replace(/,/ , ".") );
                      wert2 = Math.sqrt ((wert1*wert1)-(4.5*4.5))

                      Das sieht Fehlerfrei aus, ich würde aber die Variabeln mit var deklarieren.

                      wie genau geht das?

                      if (wert2 < 5) {
                                    (-7/5*wert21+16)

                      Das wiederrum ergibt keinen richtigen Sinn. Du rechnest zwar etwas, es passiert aber mit dem wert nichts.  Ausserdem ist wert21 nirgends definiert.

                      passieren soll, dass ausgerechnet werden soll ;) und das ganze wird dann in einem feld ausgegeben, das funktioniert ja auch alles, aber ich muss halt mit diesem zwischen wert eine von drei formeln anwenden, je nachdem wie groß der wert ist
                      wert21 war ein schreibfehler, sollte natürlich wert2 heissen.

                      { else (wert2 > 5) {

                      Hier ist ein Syntaxfehler, den dein Browser auch anzeigen sollte. Du weißt wo du in deinem Browser die Fehlermeldungen findest?

                      keine ahnung :(

                      (-4/5*wert2+13)
                                    }

                      d. h. wert1 wird eingeben, dann rechnet der damit [Math.sqrt ((wert1*wert1)-(4.5*4.5))], das klappt ja auch. und mit dem ergebnis, je nachdem, was da rauskommt, soll er eine bestimmte formel anwenden, welches ergebnis, dann angezeigt wird.

                      Du musst das Ergebnis deiner Berechung irgendwo festhalten, entweder in einer Variabel oder du gibst sie direkt aus. Wenn du den Wert lediglich anzeigen willst, dann reicht ein alert();

                      der zwischenwert soll am besten nicht angezeigt werden, nur das endergebnis
                      ich weiss nur nicht, wie das geht und wie das mit d

                      Struppi.

                      1. @@Schlangi:

                        nuqneH

                        ich würde aber die Variabeln mit var deklarieren.
                        wie genau geht das?

                        http://de.selfhtml.org/javascript/sprache/variablen.htm

                        keine ahnung :(

                        Ja, den Eindruck vermittelst du. Am besten fängst du hier an zu lesen: http://de.selfhtml.org/javascript/index.htm

                        Qapla'

                        --
                        Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.
                        (Mark Twain)
                      2. Schade, dass du nicht auf meinen ersten Satz eingegangen bist. Daher noch mal die Bitte, formuliere deine Frage verständlich und sag uns auch was du onkret machst. So ist es wirklich schwer dir zu helfen. Danke!

                        deklarieren.

                        wie genau geht das?

                        var wert = 'x';

                        Sollte so auch irgendwo in selfhtml zu finden sein.

                        if (wert2 < 5) {
                                      (-7/5*wert21+16)

                        Das wiederrum ergibt keinen richtigen Sinn. Du rechnest zwar etwas, es passiert aber mit dem wert nichts.  Ausserdem ist wert21 nirgends definiert.

                        passieren soll, dass ausgerechnet werden soll ;) und das ganze wird dann in einem feld ausgegeben, das funktioniert ja auch alles, aber ich muss halt mit diesem zwischen wert eine von drei formeln anwenden, je nachdem wie groß der wert ist

                        Diese Schilderung paßt nicht mit dem zusammen, was du uns gezeigt hast. Wo wird hier etwas in einem Feld ausgeben? Und überhaupt wo kommt plötzlich das Feld her?

                        wert21 war ein schreibfehler, sollte natürlich wert2 heissen.

                        Genau das meine ich, wenn du uns nur irgendwelchen Pseudocode zeigst, ist Hilfe einfach nicht möglich.

                        { else (wert2 > 5) {

                        Hier ist ein Syntaxfehler, den dein Browser auch anzeigen sollte. Du weißt wo du in deinem Browser die Fehlermeldungen findest?

                        keine ahnung :(

                        Dann informier dich Bitte! Google ist dürfte dir doch bekannt sein?

                        Ich weiß n icht wie du dir vorstellst wie man dir helfen kann. Du erweckst den Eindruck, als ob du selbst gar nichts machst und gleichzeitig von uns erwartest, wir könnten Hellsehen und erraten was du wohl meinen könntest.

                        der zwischenwert soll am besten nicht angezeigt werden, nur das endergebnis

                        du kannst auch das Endergebniss mit alert() anzeigen.

                        ich weiss nur nicht, wie das geht und wie das mit d

                        zu früh auf "Nachricht absenden" geklickt?

                        Struppi.

                        1. danke für eure Anregungen, ich habe nur nicht gerade viel Zeit mich darin einzuarbeiten, daher wollte ich nur Hilfe haben, damit ich das schnell hinbekomme :(

                          also versuche ich es mal so einfach wie möglich und verständlich zu erklären:

                          ich habe in html drei felder (feld1, feld2, feld3) in einer kleiner tabelle (aber das ja auch egal wie), in feld1 soll man eine eingabe machen, feld2 soll ein button sein, der die rechnung auslöst und feld3 zeigt das endergebnis an. das bekomme ich ja auch hin, gehört aber ja auch nicht wirklich zu javascript.

                          so nun zum berechnungsvorgang:

                          wie gesagt feld1 soll man eine zahl eingeben (nehmen wir einfach mal als beispiel 10)

                          die berechnung sieht so aus:
                          wert aus feld1 ist das b aus der dem pythargoras-satz also daher Math.sqrt ((mast1*mast1)-(4.5*4.5))
                          daraus entsteht ein ergebnis (zwergebnis1), welches aber nicht angezeigt werden soll! je nachdem wie groß dieser wert ist
                          <=x1

                          x1 && <=x2
                          x2

                          soll eine andere formel angewendet werden, die formel ist eine normale geraden gleichung mx + b, wobei m und b bekannt sind und das x ist unser zwergebnis1. und das daraus resultierende endergebnis soll dann nach drücken des buttons in feld3 angezeigt werden.

                          ich hoffe ihr könnt mir irgendwie helfen

                          1. ich hoffe ihr könnt mir irgendwie helfen

                            Ja, wir können dir helfen, wenn wir Wissen was du (falsch) machst. Aber wir schreiben dir nicht deinen Code.

                            Struppi.

                      3. Hi

                        Ich sehe, hier ist ein totaler Newbie am Werk.
                        Willkommen beim programmieren und bei javascript im besonderen.

                        Also Programmierer musst du Dokumentationen lesen und dich durch Beispiele inspirieren lassen. Für deine Aufgabenstellung halte ich die Sektion
                        http://de.selfhtml.org/javascript/sprache/index.htm
                        für relevant.

                        Beackere diese Seiten und studiere die gezeigten Beispiele. Es hilft dir, ein allgemeines Verständnis der Syntax zu erwerben.

                        Wir sind spontan selten in der Lage, die Dinge besser zu erklären als dies vor uns andere mit mehr Zeit getan haben.
                        ein grundlegendes Verständnis vorausgesetzt, können wir natürlich beistehen, Wissenslücken zu füllen.

                        mfg Beat

                        --
                        ><o(((°>           ><o(((°>
                           <°)))o><                     ><o(((°>o
                        Der Valigator leibt diese Fische