JavaScript <-> Input Feld ist nicht nutzbar

  • Hallo an die Forums Gemeinschaft,


    benötige etwas Unterstützung. Ich selber arbeite schon seit Jahren mit HTML und CSS aber nicht mit JS.


    Ich wollte mir aus reiner Neugierde der Funktion eine Rechenformel umsetzten. Diese habe ich schon per EXCEL ausgearbeitet und funktionieren. Nun hatte ich mir einfach Online einen ähnlichen Aufbau von einer fremd Webseite genommen um zunächst den Aufbau zu verstehen. So weit so gut. Ich konnte auch die Formel für meine belange anpassen und sogar ein zweites Ausgabefeld erstellen welches wiederum mit einer weiteren Formel die das Ergebnis aus der ersten Formel mit nutzt erstellen.


    Die Ergebnisse sind richtig und ich bin soweit begeistert doch: habe ich ein Problem mit der Zweite Formel. Das Ergebnis der ersten Formel wird mit einer weiteren Formel und dem Eingabefeld "Zuwachs" welches im JS unter den Eintrag "Bar" läuft berechnet. Und genau hier ist das Problem ich bekomme das Feld "Zuwachs" nicht geladen und habe zunächst den Wert 1,7 fest in die Formel geschrieben. Unter function ist Bar auch eingetragen.


    Warum wird das Feld nicht gelesen oder zur Berechnung herangezogen?


    Hoffe es kann mir jemand helfen. Vielen Dank!


    mfg Stephan



    Hier der Code:



  • danke für die Antwort. Ich bekome nur ein NaN statt das Ergebniss der Code ist nun wie folgt.


  • Sorry wie gesagt JS ist für mich noch nicht ganz verständlich. Bitte Zeilenangabe etwas genauer welche anderen Aufrufe?

    Ich habe ja zwei Ausgabefelder/Ergebnisfeldr ein mal Zeile 67 für "Neuer Input:" mit den den Namen="Circumference" und Zeile 86 das zweite Ergebnisfeld. Namen="CircumferenceT". Wie bekomme ich nun das JS dazu Zeile 77 Name="Bar" mit zu lesen im JS in der Zeile 14 var Tu=((OverallRadius*(1+Bar))*0.97);?




    Ich habe schon überall Bar eingegeben und nichts geht nur "NaN" wenn ich in die Formel 1.7 statt Bar eintrage habe ich mein Ergebnis. Ich Checke es nicht ;)

  • sobald ich in Zeile 93 Bar eintrage läuft nichts mehr. Zeile 77 ist ja auch onBlur="CalculateCircumferenceT" also CalculateCircumference + T

    Es geht leider nicht. Bitte mal im Browser testen. Habe jetzt nur Zeile 93 weg gelassen aber geht nicht Code ist nun wie folgt:


  • Zwei Fehler:


    Code
    onBlur="CalculateCircumference(document.Rad.Diameter.value,document.Rad.Profile.value,document.Rad.Width.Bar.value)"

    Es fehlt der vierte Parameter und beim dritten ist das ".Bar" zu viel.


    So muss der Aufruf lauten:

    Code
    onClick="CalculateCircumference(document.Rad.Diameter.value, document.Rad.Profile.value, document.Rad.Width.value, document.Rad.Bar.value)"
  • Jo Danke jetzt habe ich es geschnallt. Jetzt bekomme ich ein Ergebniss doch leider ist dieses nun falsch.

    Wenn in JS Zeile 14 statt Bar 1.7 fest eingetragen wird ist die ausgabe von 485.3 genau richtig. Wenn ich mir nur den Wert Bar ausgebe sehe ich 1.7 was richtig da dieser so vorbelegt ist, aber mit dem Aufruf über Bar (auch 1.7) ist das Ergebnis über 2000 und somit falsch. Was passiert da den nun?


    Code Aktueller Stand:


  • Habe ich jetzt nicht getestet, aber der Fehler liegt sehr wahrscheinlich in Zeile 14:

    Code
    var Tu=((OverallRadius*(1+Bar))*0.97);

    Liest man Bar aus einem input-Feld aus, handelt es sich um einen String. In dem Fall werden beim "+"-Operator zwei Strings zusammen gefügt:

    "1" + "1.7" ergibt "11.7" statt 2.7. Abhilfe, indem "Bar" in Float umgewandelt wird:

    Code
    var Tu=((OverallRadius*(1+parseFloat(Bar)))*0.97);
  • Ok vielen Dank Sempervivum! Das erklärt es ja woran es liegt. So etwas weiß man natürlich nicht als nicht JS Fachmann. Danke das ich so viel lernen konnte und durfte durch deine Hilfe. Somit sollte ich auch in Zukunft JS schon besser Lesen und verstehen können.


    mfg Stephan

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!