Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Suma dwóch inputów
TomASS
post 12.08.2004, 14:05:20
Post #1





Grupa: Zarejestrowani
Postów: 1 660
Pomógł: 13
Dołączył: 9.06.2004
Skąd: Wrocław i okolice

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


Witam. Mam sobie takie ło zwyłe dwa inputy (mam też trzeciego tongue.gif ) i teraz chciałbym mieć w jedym z tych trzech sume dwóch pozostałych:


czyli input3 = inpu1+inpu2;


robiłem to tak:

  1. onblur='javascript:form1.suma.value += eval(parseInt(this.value))


gdzie this, to jeden ze składników sumy....a suma to....suma biggrin.gif...gdy wykonuję to i np. input1 = 2 a input2 = 3 to sume mam 23:/ a nie 5 :/


Bardzo proszę o pomoc.


--------------------
Go to the top of the page
+Quote Post
cim
post 12.08.2004, 18:17:55
Post #2





Grupa: Zarejestrowani
Postów: 208
Pomógł: 28
Dołączył: 9.08.2004
Skąd: Stargard

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


ja zrobiłem to w oddzielnej funkcji:

Kod
function suma(){
var input1 = parseInt(document.forma.input1.value);
var input2 = parseInt(document.forma.input2.value);

var input3 = input1 + input2;
document.forma.input3.value = input3;
}


a w onblur wywołałem powyższą funkcje


--------------------
errare humanum est
Go to the top of the page
+Quote Post
TomASS
post 12.08.2004, 22:48:18
Post #3





Grupa: Zarejestrowani
Postów: 1 660
Pomógł: 13
Dołączył: 9.06.2004
Skąd: Wrocław i okolice

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


takie coś nie działa (błąd JS, nawet gdy funkcja suma() jest pusta) :/

  1. <script type="text/javascript" language="JavaScript">
  2. <!--
  3. function suma(){
  4. var input1 = parseInt(document.forma.i1.value);
  5. var input2 = parseInt(document.forma.i2.value);
  6.  
  7. var input3 = input1 + input2;
  8. document.forma.suma.value = input3;
  9. }
  10. //-->
  11.  
  12. <form action="1.html" name="forma">
  13. <input type="text" onBlur="suma()" name="suma"/>
  14. <input type="text" onBlur="suma()" name="i1"/>
  15. <input type="text" onBlur="suma()" name="i2"/>
  16. </form>


co jest?


--------------------
Go to the top of the page
+Quote Post
FiDO
post 13.08.2004, 08:33:03
Post #4





Grupa: Przyjaciele php.pl
Postów: 1 717
Pomógł: 0
Dołączył: 12.06.2002
Skąd: Wolsztyn..... Studia: Zielona Góra

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


Zmien nazwe funkcji z suma na cos innego, z jakiejs niewiadomej mi przyczyny, ta nazwa jest zastrzezona, nie ma jej jednak na liscie zastrzezonych slow.

PS. Przenosze na Javascript


--------------------
Brak czasu :/
Go to the top of the page
+Quote Post
TomASS
post 13.08.2004, 21:46:53
Post #5





Grupa: Zarejestrowani
Postów: 1 660
Pomógł: 13
Dołączył: 9.06.2004
Skąd: Wrocław i okolice

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


Masz rację, że chodziło o zmianę nazwy smile.gif ale niestety funkcja nie działa w przypadku trzech inputów (a docelowo chciałbym 9)...chciałbym sumować te inputy, w których jest wpisana wartość liczbowa....kurcze trudna ta js :/


Albo bym chciał aby w jednym inpucie było takie coś = (input1*2,45 + input2*3,4 + input3*........) questionmark.gif Oczywiście, jeśli input jest pusty, to należy go traktować jako zero?

PS

Mam 9 takich inputów

Wielkie dzięki za odpoiwedź

Ten post edytował TomASS 14.08.2004, 08:44:23


--------------------
Go to the top of the page
+Quote Post
cim
post 14.08.2004, 22:22:39
Post #6





Grupa: Zarejestrowani
Postów: 208
Pomógł: 28
Dołączył: 9.08.2004
Skąd: Stargard

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


Cytat(TomASS @ 2004-08-13 21:46:53)
Albo bym chciał aby w jednym inpucie było takie coś  = (input1*2,45 + input2*3,4 + input3*........) questionmark.gif

a skąd bierzesz licze przez którą mnożysz zawartość intup`a:?: to jakaś dowolna czy może jest od czegoś zalerzna:?:

P.S. napisz dokładnie jaki skrypt potrzebujesz i jak ma działać to wtedy może ktoś napisze już cały a nie 3 z 9 input`ów etc...


--------------------
errare humanum est
Go to the top of the page
+Quote Post
TomASS
post 14.08.2004, 23:04:26
Post #7





Grupa: Zarejestrowani
Postów: 1 660
Pomógł: 13
Dołączył: 9.06.2004
Skąd: Wrocław i okolice

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


Okej. To mam tak:

- 8 inputów....nadajmy im nazwy produkt1,produkt2.......produkt3
- 1 input pt. suma_sztuk (disabled)
- 1 input pt. suma_opakowań (disabled)


I teraz mogę wpisywać sobie w inputy "produkty" liczby i chiałbym aby tak:
- gdy wpiszę w którymś z 8 inputów dowolną liczbę, to w "suma_sztuk" pokazuje mi się suma WSZYSTKICH ośmiu inputów (oczywiście nie muszę wszystkich wypełniać, wystarczy, że wypełnię jeden)
- w inputa suma_opakowań chciałbym mieć takie oto coś: input1*1 + input2*2 + input3*8+....+input8*2 (też oczywiście nie muszę wypełniać wszystkich inputów)

Chciałbym to w js....

Dzięki za pomoc
Pozdrawiam serdecznie


--------------------
Go to the top of the page
+Quote Post
tumczasty
post 15.08.2004, 21:41:00
Post #8





Grupa: Zarejestrowani
Postów: 80
Pomógł: 0
Dołączył: 2.08.2004
Skąd: Rzeszów

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


czy chodzi o coś mniej więcej takiego:
  1. <script type="text/javascript" language="JavaScript">
  2. <!--
  3. function suma(){
  4.  
  5. suma_sztuk=0; suma_opakowan=0;
  6. wspolcz=new Array(1,2,8,3,5,4,7,2); //wpisac odpowiednie liczby
  7. for(i=1;i<=8;i++) {
  8. liczba=parseInt('0'+document.forma['produkt'+i].value,10);
  9. suma_sztuk+=liczba;
  10. suma_opakowan+=liczba*wspolcz[i-1];
  11. }
  12.  
  13. document.forma.suma_sztuk.value = suma_sztuk;
  14. document.forma.suma_opakowan.value = suma_opakowan;
  15. }
  16. //-->
  17. </script>
  18.  
  19. <form action="1.html" name="forma">
  20. <input type="text" onBlur="suma()" name="produkt1"/>
  21. <input type="text" onBlur="suma()" name="produkt2"/>
  22. <input type="text" onBlur="suma()" name="produkt3"/>
  23. <input type="text" onBlur="suma()" name="produkt4"/>
  24. <input type="text" onBlur="suma()" name="produkt5"/>
  25. <input type="text" onBlur="suma()" name="produkt6"/>
  26. <input type="text" onBlur="suma()" name="produkt7"/>
  27. <input type="text" onBlur="suma()" name="produkt8"/>
  28. <input type="text" name="suma_sztuk"/>
  29. <input type="text" name="suma_opakowan"/>
  30. </form>

a problem z nazwą funkcji suma() był pewnie dlatego, że był też input o takiej samej nazwie --- [document.forma.]suma() nie ma sensu, stąd błąd
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: 30.07.2025 - 17:21