Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [JavaScript] Dynamiczny index tablicy w inpucie
lubiemdziem
post 13.07.2012, 14:05:14
Post #1





Grupa: Zarejestrowani
Postów: 28
Pomógł: 0
Dołączył: 13.06.2008

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


Witam!
Nie będę obijał w bawełnę, nie potrafię napisać prostego skryptu. Tu obecne wypociny:

Head:
Kod
function licz(x){ x.wynik.value=(x.dane1.value||0)+(x.dane2.value||0)}


Body:
Kod
var Lancuch = new Array('0','83','174','276','388','512','650','801','969','1154')
document.write(Lancuch[5]) //pokaze 512;



Kod
<form>
<input type="text" name="dane1" onkeyup="licz(this.form)">
+
<input type="text" name="dane2" onkeyup="licz(this.form)">
=
<input name="wynik" type="text">
</form>


I tu co zamierzam napisać:

W inpucie "dane1" będę wpisywał liczbę (np. 5) która w inpucie "dane2" pokaże 512 (idąc łańcuchem) -> wykorzystuję index tablicy, tylko, że nie potrafię tego zrobić.

Podeślecie mi jakiś poradnik, który mi pomoże? Proszę, to dla mnie bardzo ważne. Z góry dziękuję

Go to the top of the page
+Quote Post
bpskiba
post 13.07.2012, 19:09:39
Post #2





Grupa: Zarejestrowani
Postów: 340
Pomógł: 49
Dołączył: 3.07.2009
Skąd: Rzeszów

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


  1. <script LANGUAGE="JavaScript" TYPE="text/javascript">
  2. <!--
  3. function licz(x)
  4. {
  5. var Lancuch = new Array('0','83','174','276','388','512','650','801','969','1154') ;
  6. x.dane2.value=Lancuch[x.dane1.value];
  7. x.wynik.value=(x.dane1.value||0)+(x.dane2.value||0);
  8. }
  9. -->
  10. </head>
  11. <form>
  12. <input type="text" name="dane1" onkeyup="licz(this.form)">
  13. +
  14. <input type="text" name="dane2" onkeyup="licz(this.form)">
  15. =
  16. <input name="wynik" type="text">
  17. </form>
  18. </BODY>
  19. </HTML>


Ten post edytował bpskiba 13.07.2012, 19:13:03
Go to the top of the page
+Quote Post
lubiemdziem
post 13.07.2012, 21:49:58
Post #3





Grupa: Zarejestrowani
Postów: 28
Pomógł: 0
Dołączył: 13.06.2008

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


Przycisk "pomógł" to za mało. Serdeczne dzięki !

  1. <script languange="JavaScript" type="text/javascript">
  2. <!--
  3. function licz(x)
  4. {
  5. var Lancuch = new Array('0','83','174','276','388','512','650','801','969','1154') ;
  6. x.dane2.value=Lancuch[x.dane1.value];
  7. x.wynik.value = parseFloat(x.dane1.value) + parseFloat(x.dane2.value);
  8. }
  9. -->
  10. </head>
  11. <form>
  12. <input type="text" name="dane1" onkeyup="licz(this.form)">+
  13. <input type="text" name="dane2" onkeyup="licz(this.form)">=
  14. <input name="wynik" type="text">
  15. </form>
  16. </body>
  17. </html>


Okej, pojawił się drugi problem. Jako, że JS wcale nie ogarniam a inne języki programowania tak, dlatego znowu muszę poprosić Was o pomoc.

- W inpucie "dane2" gdy wpiszę liczbę (np) 500 zmieni liczbę w inpucie "dane1" na 4 (większa od 388 mniejsza od 512, znowu łańcuch)

Zapewne mam napisać funkcję, która będzie "latała" po łańcuchu i sprawdzała czy dana wartość jest większa lub równa podanej. Jeśli okaże się większa, zwraca poprzedni index łańcucha, jeśli będzie równy - zwróci aktualny

Jakiej funkcji/pętli/wyrażenia użyć? Doceniam wasz czas, dlatego wystarczą mi tylko wskazówki

Pozdrawiam
Go to the top of the page
+Quote Post
bpskiba
post 14.07.2012, 06:53:17
Post #4





Grupa: Zarejestrowani
Postów: 340
Pomógł: 49
Dołączył: 3.07.2009
Skąd: Rzeszów

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


  1. <head>
  2. <script languange="JavaScript" type="text/javascript">
  3. <!--
  4. function licz(x)
  5. {
  6. var Lancuch = new Array('0','83','174','276','388','512','650','801','969','1154') ;
  7. x.dane2.value=Lancuch[x.dane1.value];
  8. x.wynik.value = parseFloat(x.dane1.value) + parseFloat(x.dane2.value);
  9. }
  10. function dwa(x)
  11. {
  12. var Lancuch = new Array(0,83,174,276,388,512,650,801,969,1154) ;
  13. var b=0;
  14. while(Lancuch[b]<x.dane2.value)
  15. b++;
  16. x.dane1.value=Lancuch[b-1];
  17. }
  18. -->
  19. </script>
  20. </head>
  21. <body>
  22. <form>
  23. <input type="text" name="dane1" onkeyup="licz(this.form)">+
  24. <input type="text" name="dane2" onkeyup="dwa(this.form)">=
  25. <input name="wynik" type="text">
  26. </form>
  27. </body>
  28. </html>
Go to the top of the page
+Quote Post
lubiemdziem
post 14.07.2012, 07:27:05
Post #5





Grupa: Zarejestrowani
Postów: 28
Pomógł: 0
Dołączył: 13.06.2008

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


bpskiba, jestem Ci tak wdzięczny, że nie masz pojęcia jak bardzo .. na prawdę
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: 19.06.2025 - 13:57