2013-08-13 18 views
5

Mam pole tekstowe i chcę używać danych w nim za każdym razem, gdy coś się pojawi; litera po literze.JavaScript - uzyskaj wartość z pola tekstowego przy każdym naciśnięciu klawisza.

Co się dzieje, gdy wprowadzana jest wartość, skrypt Javascript jest wykonywany przed wartość jest rzeczywiście umieszczana w polu tekstowym, co oznacza, że ​​zawsze pozostaje w tyle za jednym znakiem.

$(document).ready(
     function() { 
      $('#test').keypress(

      function() { 
      var value = document.getElementById('test').value; 
      alert(value); 
      }); 
     }) 

<input id="test" type="text" /> 

Oto co dzieje:

input alert 
    w "" 
    e "w" 
    a "we" 
    l "wea" 
    t "weal" 
    h "wealt" 

Podczas gdy chcę się zdarzyć dynamicznie; tj. gdy wpisuję "w", chcę, aby alert zawierał "w" natychmiast po tym.

Odpowiedz

17

dzieje się przed zmianą, tak. keyup dzieje się po. Zamiast tego posłuchaj.

+0

dziękuję! perfecto –

5

Należy spróbować keyup zdarzenie, ponieważ keypress dzieje się przed symbolem jest odbieranym w polu tekstowym

4

użycie keyup

$(document).ready(
    function() { 
     $('#test').keyup(
      function() { 
       var value = document.getElementById('test').value; 
       alert(value); 
      }); 
    }) 
0

Użyj zdarzenie keyup zamiast -:

  $('#test').keyup( 
      function() { 
      var value = document.getElementById('test').value; 
      alert(value); 
      }); 
2

Użyj keyup, aby przeczytać prawidłowy po wprowadzeniu czegoś. Oto jak to zrobić z jQuery:

$(document).ready(function() { 
    $('#test').keyup(function() { 
     alert($(this).val()); 
    }); 
}); 

Demo

0

użycie keyup zamiast że zadziała

$(document).ready(
     function() { 
      $('#test').keyup(

      function() { 
      var value = document.getElementById('test').value; 
      alert(value); 
      }); 
     }) 

0

Spróbuj użyć 'keyup' zdarzenie zamiast 'naciśnięcie klawisza'.

Zmiana:

$(document).ready(
     function() { 
      $('#test').keyup(
      function() { 
      var value = document.getElementById('test').value; 
      alert(value); 
      }); 
     }); 

Praca plunk.

Powiązane problemy