Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [js] dynamicznie obliczana średnia z pol formularza
kebq
post 8.04.2007, 13:22:33
Post #1





Grupa: Zarejestrowani
Postów: 41
Pomógł: 0
Dołączył: 2.12.2005

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post
lopez86
post 8.04.2007, 21:59:13
Post #2





Grupa: Zarejestrowani
Postów: 187
Pomógł: 0
Dołączył: 24.12.2006

Ostrzeżenie: (0%)
-----


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

Ten post edytował lopez86 8.04.2007, 17:44:21


--------------------
c++ , javascript , PHP , SQL , MYSQL , CSS - wszystko czego potrzebuje prawdziwy mężczyzna LoL
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 18.07.2025 - 23:21