Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML][JavaScript][js/jquery] input array, wartości
Forum PHP.pl > Forum > Przedszkole
Spirit86
Witam, mam następujący problem:

mam formularz, a w nim inputy

  1. Wartość 1<input name="jakas_wart[]" id="jakas_wart[]" onChange="Recalculate(this)" /><input name="przel_wart[]" id="przel_wart[]" /><br />
  2. Wartość 2<input name="jakas_wart[]" id="jakas_wart[]" onChange="Recalculate(this)" /><input name="przel_wart[]" id="przel_wart[]" /><br />
  3. Wartość 3<input name="jakas_wart[]" id="jakas_wart[]" onChange="Recalculate(this)" /><input name="przel_wart[]" id="przel_wart[]" /><br />

chcę, aby po wpisaniu wartosci w dowolne pole jakas_wart skrypt przeliczyl co tam ma przelczyc. Problem jest nastepujacy

chcę to zrobić bez jquery, żeby działało poprawnie przed załadowaniem biblioteki, ale jak łatwiej będzie w jquery, to trudno, może być jq.
chcę pobrać jaki numer ma aktualny inpue jakas_wart[], czyli żeby mi np. zwróciło 1, albo cos innego, zebym mogl pobrac sobie wartosc i przeliczyc pozostale inputy, nie wiem jak to zrobic, totalna tabularaza.

reasumujac, chce, zeby po wpisaniu wartosci 1, 2 lub 3 js przeliczyl wartosc przel_wart.

Kod
function Recalculate(thisObject){

for(var i=0; i<this.xForm.product_name.length; i++) {
       alert(jakas_wart[i]);
}

}
Niktoś
Masz błędnie napisany formularz:

Cytat
Wartość 1<input name="jakas_wart[]" id="jakas_wart[]" onChange="Recalculate(this)" /><input name="przel_wart[]" id="przel_wart[]" /><br />

Wartość 2<input name="jakas_wart[]" id="jakas_wart[]" onChange="Recalculate(this)" /><input name="przel_wart[]" id="przel_wart[]" /><br />

Wartość 3<input name="jakas_wart[]" id="jakas_wart[]" onChange="Recalculate(this)" /><input name="przel_wart[]" id="przel_wart[]" /><br />


Nie możesz ,grupować według id,a samo id powinno być unikalne dla każdego tagu.
Poza tym input id= przel_wart[] to buttony?
Spirit86
wszystkie inputy to text. id już wywaliłem, zmienilem na jakas_wart1, jakas_wart2

Niktoś
No to masz pogrupowane po name.To użyj js document.getElementsByName aby pobrać listę elementów.
[JAVASCRIPT] pobierz, plaintext
  1. function Recalculate(var thisObject){
  2. var elementy= document.getElementsByName("jakas_wart[]");
  3. for(var i=0; i<elementy.length; i++) {
  4.  
  5. alert(elementy[i]);
  6. }
  7.  
  8. }
[JAVASCRIPT] pobierz, plaintext

Coś na ten wzór.
Spirit86
żeby uniknąć pętli, chciałem zrobić tak:

pobrać index aktualnego inputa, tj jeżeli wybiorę wartość jeden, żeby mi zwróciło 0 (jakas_wart[0]), mam nadzieję, że wiesz o czym pisze, ciężko mi się dziś wysłowić wink.gif
Niktoś
A może tak?
http://jsfiddle.net/DbF2B/
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.