Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [js] dynamicznie obliczana średnia z pol formularza
Forum PHP.pl > Forum > Przedszkole
kebq
witam,

mam 10 pól w formularzu i chciałbym aby w trakcie ich wypełniania w 11 polu pojawiała się ich średnia arytmetyczna
mam trzy pytania:
- jak to zrobić? tongue.gif
- jak zabezpieczyć pola aby można było wpisać w nie tylko 1 (pojedyncza) cyfrę od 1 do 6?
- jak zabezpieczyć się przed pozostawieniem pola pustego lub wpisaniem jakiś głupot

za wszelkie linki i wskazówki z góry dziękuje
w razie czego chętnie skontaktuje się przez gg/mail etc
lopez86
To bardzo proste:

Do punktu trzeciego proponuje ci żeby np. najpierw wyświetlamy pierwsze pole jeżeli wartość jest liczbą i liczbą jest 1 - 6 (czy sprawdzamy czy jest 1 lub 2 lub lub lub 5 lub 6 ) jeżeli nie to wyświtlamy komunikat wprowadź wartość z zakresu od 1 do 6 jeżeli jest to drugie pole staje się widoczne z kolejnymi tak samo a na końcu pojawia się submit

  1. <script type="text/javascript">
  2.  
  3. document.write("<form method=\"get\" action=\"strona.php\"><input onkeyup=\"check(this.id);\"type=\"text\" id=\"1\" name=\"pierwsza\">");
  4. document.write("<br>");
  5. document.write("<input type=\"text\" id=\"2\" style=\"display:none;\" name=\"druga\">");
  6.  
  7.  
  8. function check(number_of_next){
  9. var a=document.getElementById(number_of_next).value;
  10.  
  11.  
  12. if(a*6<=36&&a!=''){
  13. var b=number_of_next;
  14.  
  15. var c = parseInt(b)+1;
  16. var d = c+'';
  17. document.getElementById(d).style.display='';
  18.  
  19. document.getElementById('div').style.display='none';
  20.  
  21. }else document.getElementById('div').style.display='';
  22.  
  23. }
  24.  
  25.  
  26. </form>
  27. <div id="div" style="display:none;position: absolute; width: 189px; height: 214px; z-index: 1; left: 581px; top: 70px" id="layer1">
  28. Musisz wpisać wartość z przedziału od 1-6</div>
  29. </body>
id musi byś po kolei czyli 10 -siąte kolejne pola chba wiesz jak dodać - analogicznie do tych pole ma 10 a submit 11 ewentualnie dorzuć pętlę że przy wpisaniu powiedzmy przy 7 polu ktoś zmieni 5 wtedy wszystko od nowa , nie musisz koniecznie ukrywać pól ale chyba na podstawie powyższego skryptu dasz sobie radę no i jak chodzi o średnią to wiadomo dodajesz wartości z kolejnych pól do jakiejś zmiennej i i na końcu dzielisz przez 10 i ewentualnie konwertuj do integera jak chcesz PoZdRo LoPeZ

średnią obliczyć można na onkeyup 10 pola ówcześnie wpisując np. do tablicy po id pola wpisane wartości prościej się już chyba nie da PoZdRo i mam nadzieję że pomogłem a kolejne pola tak jak te 2 analogicznie
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.