Problem z programem wypisującym zbiór

0

Witam. napisałem sobie taki prosty programik, który wypisuje liczby z przedziału dwóch zadanych cyfr.
Jednak gdy w pole drugiej wartości wpiszemy liczbę 100 lub większą pogram zamiast wyniku podaje po prostu liczbę wpisaną.
Co ciekawe działa tylko z parą 1 i 100.
Np. wpiszę 1 i 7 - wyświetla "1,2,3,4,5,6,7"
wpiszę 2 i 100 - wyświetla "100"
Kod jest krótki, pozwolę sobie wkleić go bezpośrednio:

<script>
           function sprawdz(){
            var a = document.getElementById("pole1").value;
            var b = document.getElementById("pole2").value;
                var napis = "";
                            if(a<b){
                                        for(i=a;i<=b;i++){
                                        napis = napis+i;
                                        }
                                    }
                            else    {
                                        for(i=b;i<=a;i++){
                                        napis = napis+i;
                                        }
                                    }
                                document.write(napis);
                            }
        </script>

I dwa inputy w body:

 <input type="text" id="pole1">
      <input type="text" id="pole2">
        <input onclick="sprawdz()" type="button" value="wyswietl liczby z przedzialu">
1

Po co dwie pętle? Zamiast tego po prostu zrób jedną, a zamień wartości a i b miejscami.

Problem jest pewnie z tym, że wczytujesz string, a nie int, a stringi porównywane są słownikowo. Więc "2" jest wyżej niż "100". I pętla się tylko raz wtedy wykonuje.

1 użytkowników online, w tym zalogowanych: 0, gości: 1