Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [js] formularz ocen, obliczanie sredniej
Forum PHP.pl > Forum > Przedszkole
kebq
witam,
jako ze js to nie mój żywioł dojście do czegoś takiego zajęło mi dłuższą chwilę

  1. <script language="JavaScript"><!--
  2. function update(theform) {
  3. with(Math)
  4. {
  5. var a=parseFloat(theform.a.value);
  6. var b=parseFloat(theform.b.value);
  7. var c=parseFloat(theform.c.value);
  8. var d=parseFloat(theform.d.value);
  9. var e=parseFloat(theform.e.value);
  10. var f=parseFloat(theform.f.value);
  11. var g=parseFloat(theform.g.value);
  12. var h=parseFloat(theform.h.value);
  13. var i=parseFloat(theform.i.value);
  14. var j=parseFloat(theform.j.value);
  15.  
  16. var tmp=(a+b+c+d+e+f+g+h+i+j)/10;
  17. if (isNaN(tmp)) {tmp="Popraw wartosci"};
  18. theform.x.value=tmp;
  19. }
  20. }
  21. // --></script>
  22. </head>
  23. <body bgcolor="#ffffff" onLoad="update(document.mathForm);">
  24. <form method=get onSubmit="return false;" name=mathForm>
  25. <table border="0" cellspacing="1">
  26.  
  27. <tr><th bgcolor="#cccccc" width=150>a</th><td bgcolor="#eeeeee"><input type=text name="a" value="" onChange="update(this.form)"></td></tr>
  28. <tr><th bgcolor="#cccccc" width=150>b</th><td bgcolor="#eeeeee"><input type=text name="b" value="" onChange="update(this.form)"></td></tr>
  29. <tr><th bgcolor="#cccccc" width=150>c</th><td bgcolor="#eeeeee"><input type=text name="c" value="" onChange="update(this.form)"></td></tr>
  30. <tr><th bgcolor="#cccccc" width=150>d</th><td bgcolor="#eeeeee"><input type=text name="d" value="" onChange="update(this.form)"></td></tr>
  31. <tr><th bgcolor="#cccccc" width=150>e</th><td bgcolor="#eeeeee"><input type=text name="e" value="" onChange="update(this.form)"></td></tr>
  32. <tr><th bgcolor="#cccccc" width=150>f</th><td bgcolor="#eeeeee"><input type=text name="f" value="" onChange="update(this.form)"></td></tr>
  33. <tr><th bgcolor="#cccccc" width=150>g</th><td bgcolor="#eeeeee"><input type=text name="g" value="" onChange="update(this.form)"></td></tr>
  34. <tr><th bgcolor="#cccccc" width=150>h</th><td bgcolor="#eeeeee"><input type=text name="h" value="" onChange="update(this.form)"></td></tr>
  35. <tr><th bgcolor="#cccccc" width=150>i</th><td bgcolor="#eeeeee"><input type=text name="i" value="" onChange="update(this.form)"></td></tr>
  36. <tr><th bgcolor="#cccccc" width=150>j</th><td bgcolor="#eeeeee"><input type=text name="j" value="" onChange="update(this.form)"></td></tr>
  37.  
  38. <p><input type=button value="Oblicz" onClick="update(this.form)"> | <input type=reset value="Reset"></p>
  39. <table border=0 cellspacing=1>
  40.  
  41. <tr><th bgcolor="#cccccc" width=150>Srednia arytmetyczna</th><td bgcolor="#eeeeee"><input type=text name="x" value="" onChange="alert('Nie zmieniaj tej wartosci w tym okienku!');update(this.form)"></td></tr>
  42.  
  43. </form>
  44. </body>
  45. </html>


Jednak nie wszystko jestem w stanie osiągnąć
przede wszystkim chciałbym aby średnia była liczona tylko z tylu pól ile zostało wypełnionych (jesli jest 1, 2 i 6 pole to z trzech itd)
druga sprawa to aby dało się wprowadzić tylko wartości liczbowe od 1 do 6
trzecia sprawa to zaokraglenie sredniej do 2 miejsc po przecinku
i ewentualna czwarta aby srednia zmieniala sie dynamicznie bez potrzeby naciskania przycisku oblicz smile.gif

za wszystkie wskazówki, przykłady, gotowe rozwiązania ( ;-) ) z góry dziekuje
Cienki1980
Założyłeś już jeden taki temat na forum, więc mogłeś tam kontynuować a tak:
Crossposting z tym wątkiem ( Regulamin punkt IV 2 f )

Zamykam, później usunę.
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.