Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [JavaScript]zmiana inputa po odkliknięciu
Randallmaster
post
Post #1





Grupa: Zarejestrowani
Postów: 677
Pomógł: 11
Dołączył: 18.11.2009

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


Witam,

Nie wiem jak dokładnie to wytłumaczyć, ale mam nadzieję że zrozumiecie.

Posiadam takie coś:

(IMG:http://img35.imageshack.us/img35/7853/testlk.png)

no i tak.

Uznajemy że pozostało do zapłaty: 111 zł
teraz klikam na pole pokaz_zaplacono i wpisuje: 12 zł

Po kliknięciu enter chciałbym aby pozostało do zapłaty automatycznie się zmieniło na 99 zł

W jaki sposób mogę osiągnąć ten wynik?
Go to the top of the page
+Quote Post
tvister
post
Post #2





Grupa: Zarejestrowani
Postów: 253
Pomógł: 29
Dołączył: 18.08.2008

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


Podczas eventu onkeypress (lub coś takiego ) należy rozpoznać jaki to klawisz(kod) został naciśnięty oraz ustawić na niego akcje.
Go to the top of the page
+Quote Post
Randallmaster
post
Post #3





Grupa: Zarejestrowani
Postów: 677
Pomógł: 11
Dołączył: 18.11.2009

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


Zapomniałem dodać że pracuje na jquery ;/
no i generalnie ucze się jquery
Go to the top of the page
+Quote Post
tvister
post
Post #4





Grupa: Zarejestrowani
Postów: 253
Pomógł: 29
Dołączył: 18.08.2008

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



http://stackoverflow.com/questions/1160008...key-with-jquery
Go to the top of the page
+Quote Post
Randallmaster
post
Post #5





Grupa: Zarejestrowani
Postów: 677
Pomógł: 11
Dołączył: 18.11.2009

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


czemu nie działa??

  1. $("pokaz_zaplacono").keydown(function(){
  2. var zap = $('#pokaz_zaplacono').val();
  3. zaplacono = eval(123 - zap);
  4. $("pozostalo").val(zaplacono);
  5. });
Go to the top of the page
+Quote Post
SmokAnalog
post
Post #6





Grupa: Zarejestrowani
Postów: 1 707
Pomógł: 266
Dołączył: 3.07.2012
Skąd: Poznań

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


Bo "pokaz_zaplacono" to nie tag (IMG:style_emoticons/default/smile.gif) Powinno być $("#pokaz_zaplacono").
Go to the top of the page
+Quote Post
b4rt3kk
post
Post #7





Grupa: Zarejestrowani
Postów: 1 933
Pomógł: 460
Dołączył: 2.04.2010
Skąd: Lublin

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


Jeśli opakujesz ten input i submit w form to wtedy możesz za pomocą jQuery przechwycić wysłanie formularza (czyli wciśnięcie ENTER), inny sposób:

  1. $(function() {
  2. $('#pokaz_zaplacono').keyup(function() {
  3. $('#pozostalo').html(111 - parseInt($(this).val()));
  4. });
  5. });


Sposób z form:

  1. <form action="#" method="POST" id="formularz">
  2. <input id="pokaz_zaplacono" type="text" />
  3. <input type="submit" />
  4. </form>
  5. <p id="pozostalo"></p>
  6.  
  7. <script type="text/javascript">
  8. $(function() {
  9. $('#formularz').submit(function() {
  10. $('#pozostalo').html(111 - parseInt($('#pokaz_zaplacono').val()));
  11.  
  12. return false;
  13. });
  14. });


Ten post edytował b4rt3kk 14.01.2013, 13:21:27
Go to the top of the page
+Quote Post
Randallmaster
post
Post #8





Grupa: Zarejestrowani
Postów: 677
Pomógł: 11
Dołączył: 18.11.2009

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


hmm wciśnięcie enter może źle to napisałem, klikam w pole w pisuje np. 12 i klikam gdziekolwiek indziej poza tym polem i od razu mi wylicza..
Go to the top of the page
+Quote Post
b4rt3kk
post
Post #9





Grupa: Zarejestrowani
Postów: 1 933
Pomógł: 460
Dołączył: 2.04.2010
Skąd: Lublin

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


Cytat(Randallmaster @ 14.01.2013, 13:55:27 ) *
hmm wciśnięcie enter może źle to napisałem, klikam w pole w pisuje np. 12 i klikam gdziekolwiek indziej poza tym polem i od razu mi wylicza..


Więc ta funkcja spełni Twoje oczekiwania:

  1. $(function() {
  2. $('#pokaz_zaplacono').blur(function() {
  3. $('#pozostalo').html(111 - parseInt($(this).val()));
  4. });
  5. });
Go to the top of the page
+Quote Post
Randallmaster
post
Post #10





Grupa: Zarejestrowani
Postów: 677
Pomógł: 11
Dołączył: 18.11.2009

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


Cytat(b4rt3kk @ 14.01.2013, 14:50:08 ) *
Więc ta funkcja spełni Twoje oczekiwania:

  1. $(function() {
  2. $('#pokaz_zaplacono').blur(function() {
  3. $('#pozostalo').html(111 - parseInt($(this).val()));
  4. });
  5. });


hmmm. twoja funkcja niestety nie spełnia moich oczekiwań.. natomiast prawie udało mi się zrobić ale popełniam gdzieś głupi błąd. Mój kod:

  1. $("#pokaz_zaplacono").focusout(function() {
  2. var zap = $('#pokaz_zaplacono').val();
  3. $("#pozostalo").val(eval(zap.val()+2));
  4. });


w polu $('#pokaz_zaplacono') wpisuje np. 5 a w polu pozostało pokazuje mi 52 czyli dodaje liczby ale nie do siebie tylko tak jakby traktuje jako tekst...
Go to the top of the page
+Quote Post
b4rt3kk
post
Post #11





Grupa: Zarejestrowani
Postów: 1 933
Pomógł: 460
Dołączył: 2.04.2010
Skąd: Lublin

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


Cytat(Randallmaster @ 14.01.2013, 15:40:08 ) *
hmmm. twoja funkcja niestety nie spełnia moich oczekiwań.. natomiast prawie udało mi się zrobić ale popełniam gdzieś głupi błąd. Mój kod:

  1. $("#pokaz_zaplacono").focusout(function() {
  2. var zap = $('#pokaz_zaplacono').val();
  3. $("#pozostalo").val(eval(zap.val()+2));
  4. });


w polu $('#pokaz_zaplacono') wpisuje np. 5 a w polu pozostało pokazuje mi 52 czyli dodaje liczby ale nie do siebie tylko tak jakby traktuje jako tekst...


  1. var zap = parseInt($('#pokaz_zaplacono').val());
  2. $("#pozostalo").val(eval(zap+2));


Ten post edytował b4rt3kk 14.01.2013, 15:46:03
Go to the top of the page
+Quote Post
Randallmaster
post
Post #12





Grupa: Zarejestrowani
Postów: 677
Pomógł: 11
Dołączył: 18.11.2009

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


Bartek Powodzenie! W końcu działa (IMG:style_emoticons/default/smile.gif)

Widzę że nie znałem tylko jednej pozycji: parseInt() do czego jest ta funkcja?? (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
b4rt3kk
post
Post #13





Grupa: Zarejestrowani
Postów: 1 933
Pomógł: 460
Dołączył: 2.04.2010
Skąd: Lublin

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


Cytat(Randallmaster @ 14.01.2013, 15:51:20 ) *
Bartek Powodzenie! W końcu działa (IMG:style_emoticons/default/smile.gif)

Widzę że nie znałem tylko jednej pozycji: parseInt() do czego jest ta funkcja?? (IMG:style_emoticons/default/smile.gif)


Jest to funkcja JS, wymusza typ zmiennej, w tym przypadku INTEGER. Jeśli będziesz używał liczb zmiennoprzecinkowych wtedy użyj parseFloat().
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 05:48