[ajax] dodawanie nieokreslonej ilosci liczb

0

Witam, chcialem zrobic strone na ktorej mozna bedzie obliczac rozne rzeczy ... glownie chodzi o dodawanie i mnozenie ale to niewazne, jednak strone chcialem wykonac tak zeby dzialala bez przeladowania wiec mysle ze najlepszy bedzie ajax. to ma byc mniejwiecej cos takiego


obszar w ktorym beda sie wyswietlaly liczby = wynik

[0] [1] [2] [3] [4] [5] [6] [7] [8] [9]

z pobraniem ktora liczba zostala wciasnieta raczej niebedzie problemu zastanawiam sie tylko jak zrobic operacje matematyczne gdy nawet niewiem ile mam liczb ;/ niewiem gdzie przechowywac te dane ;/ lepiej by je bylo odczytywac ze strony ale to chyba niemozliwe.... niewiem zabardzo jak do tego podejsc moze w ogóle nie od tej strony na to patrze licze na jakas pomoc albo chociaz podpowiedzi pozdrawiam

0

Nie za bardzo rozumiem Twoje zapytanie. Mozesz wcisniete liczby przechowywac w jakims polu hidden. Przykladowo uzytkownik chce wykonac operacje 365 * 34 =. Wciska po kolei 3 6 5, za kazdym wcisnieciem do pola hidden dostawiasz kolejna cyferke, po wcisnieciu znaku * zmieniasz pole hidden do ktorego ma byc zapisywana cyfra i juz przy wciskaniu 3 4, znaki te beda zapisywane do drugiego pola hidden. Nastepnie po wcisnieciu znaku = wysylasz wszystko do php w celu obliczenia wyniku.

Jezeli potrzebujesz bardziej zaawansowanych dzialan to wstawiaj do jakiegos stringa wszystkie po kolei wciskane znaki, a nastepnie wyslij wszystko do skryptu php w ktorym bedziesz mial napisany parser.

0

aha no dobry pomysl rzeczywiscie ... musze troche uproscic skrypt zeby byl obslugiwany ... o to mi chodzi ze niewiem gdzie przechowywac kolejne liczby zeby byly wyswietlane i zebym mogl na nich dokonywac operacji matematycznych glownie dodawania mnozenia i dzielenia. Ten sposob z ukrytym polem jest moim zdaniem wystarczajacy tylko jak moge po odczytaniu danych z ajaxa zmieniac dynamicznie jakies ukryte pole ?;/ z tym mam tylko problem teraz ;/licze na podpowiedzi pozdrawiam

0

Mozesz zmieniac zawartosc kazdego pola, nie tylko ukrytego. Ale wracajac do rzeczy, mamy ukryte pole z okreslonym id, np:<input type="hidden" name="nazwa_pola" id="id_pola" value="" />. Dostep do tego pola mozesz zrealizowac w ten sposob (w jakiejs funkcji js):

var handler = document.getElementById('id_pola');  // uchwyt do pola o podanym ID
var val = document.getElementBuId('id_pola').value;  // zwraca wartosc pola o podanym ID

zajrzyj na http://www.w3schools.com

0

Takie pytanie mam: JavaScript to źle pomnoży czy doda? Po co ten cyrk z PHP i ajaxem?

0

Ja nie mam zaufania do JS, wykonaj ten kawalek kodu:

var zmienna1 = 3.1;
document.write('Wartosc zmienna1 to: '+zmienna1+'<br />');
document.write('Wartosc (zmienna1*100) to: '+(zmienna1*100)+'<br />');

var zmienna2 = 4.1;
document.write('Wartosc zmienna2 to: '+zmienna2+'<br />');
document.write('Wartosc (zmienna2*100) to: '+(zmienna2*100)+'<br />');

var zmienna3 = 5.1;
document.write('Wartosc zmienna3 to: '+zmienna3+'<br />');
document.write('Wartosc (zmienna3*100) to: '+(zmienna3*100)+'<br />');

var zmienna4 = 6.1;
document.write('Wartosc zmienna4 to: '+zmienna4+'<br />');
document.write('Wartosc (zmienna4*100) to: '+(zmienna4*100)+'<br />');

Ja nie chcialbym, zeby moj kalkulator tak liczyl :>

zeby nie bylo nieporozumien, wiem co nalezy zrobic, zeby podawal poprawny wynik tylko nie wiem, dlaczego tak wlasnie liczy - za wszelkie wyjasnienia bede wdzieczny :)

0

Ciekawe, to jakiś znany bug w implementacjach js, czy sam się na niego nadziałeś? I właściwie co trzeba zrobić, żeby liczył poprawnie?

0

Math.round(), a ten efekt to problem użycia liczb zmiennoprzecinkowych nie tylko w javascripcie - po prostu kończy się ustalona dokładność - pamiętaj, że w systemie binarnym 10 to nie jest "okrągła" liczba ;)

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