Fabienne: IF-Abfrage

Hallo zusammen,

warum wird bei folgender if-Abfrage immer YES ausgegeben?

var start_x=document.frm["start_x"].value;
var ende_x=document.frm["ende_x"].value;

if( start_x < ende_x )
  {
  document.write("YES");
  }

Grüße Fabienne

  1. Hallo Fabienne!

    warum wird bei folgender if-Abfrage immer YES ausgegeben?

    Vielleicht weil start_x immer kleiner als ende_x ist?

      
    
    > var start_x=document.frm["start_x"].value;  
    > var ende_x=document.frm["ende_x"].value;  
    >   
    > if( start_x < ende_x )  
    >   {  
    >   document.write("YES");  
    >   }  
    
    

    Es bedarf schon einer ausführlicheren Beschreibung!

    ℆, ℒacℎgas

    --
    Bei der intendierten Realisierung der linguistischen Simplifizierung
    des regionalen Idioms resultiert die Evidenz der Opportunität extrem
    apparent, den elaborierten und quantitativ opulenten Usus nicht assi-
    milierter Xenologien konsequent zu eliminieren!
  2. Hallo Fabienne,

    warum wird bei folgender if-Abfrage immer YES ausgegeben?

    Schwer zu sagen. Ein bisschen mehr Code dazu könnte hilfreich sein, vor allem auch der zugehörige HTML-Code.

    var start_x=document.frm["start_x"].value;
    var ende_x=document.frm["ende_x"].value;

    Auf welche Objekte greifst du damit zu? Ich vermute, du willst Formularelemente abfragen, aber die Adressierung scheint mir etwas verunglückt. Meintest du vielleicht sowas:

    var start_x=document.forms["frm"].elements["start_x"].value;

    Und was bei der missglückten Zuweisung an start_x und ende_x wirklich zugewiesen wird, das wissen die Götter - aber es ist offensichtlich nicht das, was du erwartest.

    So long,

    Martin

    --
    Lieber eine Fliege im Porzellanladen
    als ein Elefant in der Suppe.
  3. Hi,

    warum wird bei folgender if-Abfrage immer YES ausgegeben?

    vielleicht weil in start_x immer z.B. "100" und in ende_x "2" steht? Dann wäre start_x nämlich definitiv kleiner als ende_x.

    Cheatah

    --
    X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
  4. Liebe Fabienne,

    probiere mal folgendes aus:

    var start_x=document.frm["start_x"].value;
    var ende_x=document.frm["ende_x"].value;

    // Debug-Ausgabe erzeugen  
      alert("Folgende Werte werden verarbeitet: " + start_x + " und " + ende_x);
    

    if( start_x < ende_x )
      {
      document.write("YES");
      }

    Damit siehst Du, welche Werte die Variablen start_x und ende_x enthalten.

    Liebe Grüße aus Ellwangen,

    Felix Riesterer.

  5. Hallo,

    warum wird bei folgender if-Abfrage immer YES ausgegeben?

    var start_x=document.frm["start_x"].value;
    var ende_x=document.frm["ende_x"].value;

    if( start_x < ende_x )
      {
      document.write("YES");
      }

    "Immer" vermutlich nicht, z. B. aber bei "10" und "2" ist das Ergebnis durchaus nachvollziehbar, denn es werden Zeichenketten verglichen.

    Alternative:
    if(start_x*1 < ende_x*1){...}
    oder
    if(parseFloat(start_x) < parseFloat(ende_x )){...}
    oder
    if(Number(start_x) < Number(ende_x )){...}
    oder auch parseInt() statt parseFloat(), wenn es um ganzzahlige Werte geht.

    MfG, Thomas

    1. Hi,

      warum wird bei folgender if-Abfrage immer YES ausgegeben?

      var start_x=document.frm["start_x"].value;
      var ende_x=document.frm["ende_x"].value;

      if( start_x < ende_x )
        {
        document.write("YES");
        }

      "Immer" vermutlich nicht, z. B. aber bei "10" und "2" ist das Ergebnis durchaus nachvollziehbar, denn es werden Zeichenketten verglichen.

      Alternative:
      if(start_x*1 < ende_x*1){...}
      oder
      if(parseFloat(start_x) < parseFloat(ende_x )){...}
      oder
      if(Number(start_x) < Number(ende_x )){...}
      oder auch parseInt() statt parseFloat(), wenn es um ganzzahlige Werte geht.

      Thanx.

      Genau das war mein Fehler....

      Grüße und besten Dank!