Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JS] Dynamiczne obliczenia
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
enqis
Witam
Chciałem się zapytać o taka sprawę. Mianowicie mam :
Kod
function przekaz(pole){
var a = document.getElementById(pole.id).value;
document.getElementById(pole.id+"info").innerHTML = a * 3;
}

function Init(){
var inpt = document.getElementById("inpt");
    inpt.onblur = function(){
        przekaz(this);
    }
}
window.onload = Init;

I jak wpisuje w tym inpucie liczbę to dopiero po kliknięciu gdzieś wartość jest przekazywana do elementu z id pole+"info". Jest jakaś opcja, żeby te dane nie czekały aż użytkownik gdzieś kliknie ? Próbowałem, onchange ale ten sam efekt.
Dziękuję i pozdrawiam.
Sephirus
[JAVASCRIPT] pobierz, plaintext
  1. function Init(){
  2. var inpt = document.getElementById("inpt");
  3. inpt.onkeyup= function(){
  4. przekaz(this);
  5. }
  6. }
  7. window.onload = Init;
[JAVASCRIPT] pobierz, plaintext


questionmark.gif
kamil4u
ew. onkeydown lub onkeypress . Ale nie dlatego piszę.

Masz funkcję:
Kod
function przekaz(pole){
var a = document.getElementById(pole.id).value;
document.getElementById(pole.id+"info").innerHTML = a * 3;
}


Jako argument pole przekazujesz referencję do elementu. document.getElementById zwraca referencję do elementu. Łącząc te 2 stwierdzenia otrzymujesz:
var a = document.getElementById(pole.id).value;
->
var a = pole.value;

Warto też użyć w tym miejscu parseInt lub parseFloat
enqis
Szczerze nie próbowałem onkeydown/up ani onkeypress bo wydaje mi sie ze one wywolaja funkcję jeszcze zanim użytkownik cokolwiek wpisze.
kamil4u
Przetestuj sobie. onkeydown jest przed wpisaniem, onkeyup po wpisaniu. Zrób testy to będziesz wiedział smile.gif
enqis
Dobra, działa. Bardzo wam obu panowie dziękuję.
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.