Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript]Przeładowanie strony
Forum PHP.pl > Forum > Przedszkole
arzach
Jak zrobić coś na zasadzie
  1. onchange='self.location.href = 'strona.php?news_id=1'


Tylko na
  1. <input id="target" type="text"/>


ale tak by gdy zmieni się wartość w polu np wpisze 1 to strona się przeładuje

Najlepiej z wykorzystaniem jquery

Nie wiem które zdarzenie js za to odpowiada
CuteOne
onkeyup / onkeydown
#luq
Raczej event onchange bo jak wpiszesz "12"... smile.gif
arzach
Mam coś takiego
[JAVASCRIPT] pobierz, plaintext
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script>
  5.  
  6. <script type="text/javascript">
  7. $(document).ready(function() {
  8. $("#mecz").change( function() {
  9.  
  10. var mecz = ($(this).val());
  11.  
  12. alert(mecz);
  13.  
  14. });
  15. });
  16.  
  17. </script>
  18. </head>
  19.  
  20. <body>
  21. <input id="mecz" type="text" />
  22.  
  23. </body>
  24. </html>
[JAVASCRIPT] pobierz, plaintext


I działa a potrzebuje sprawdzić czy wartość wpisana w input jest liczbą w php jest is_int a w js questionmark.gif?
mortus
  1. <script type="text/javascript">
  2. $(document).ready(function() {
  3. $("#mecz").change( function() {
  4.  
  5. var mecz = $(this).val());
  6.  
  7. if(isInt(mecz)){
  8. alert(($(this).val()));
  9. }
  10.  
  11. });
  12. });

Zdarzenie change zadziała dopiero po opuszczeniu pola tekstowego, np. poprzez kliknięcie na wolny obszar strony.
Cytat
For select boxes, checkboxes, and radio buttons, the event is fired immediately when the user makes a selection with the mouse, but for the other element types the event is deferred until the element loses focus. (z jQuery.change())

Nazwa funkcji to chyba isInt(), a nie isint().

@up Zdążyłeś przede mną.
arzach
Ja potrzebuje wtedy kiedy wpiszę nowa liczbe w input
Mam teraz
[JAVASCRIPT] pobierz, plaintext
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script>
  5.  
  6. <script type="text/javascript">
  7. $(document).ready(function() {
  8. $('#mecz').keyup(function(event) {
  9.  
  10. var mecz = ($(this).val());
  11.  
  12. alert(mecz);
  13.  
  14. });
  15. });
  16.  
  17. </script>
  18. </head>
  19.  
  20. <body>
  21. <input id="mecz" type="text" value="0" />
  22.  
  23. </body>
  24. </html>
[JAVASCRIPT] pobierz, plaintext


I działa ale nawet wtedy kiedy wykasuje liczbę Backspace a ja potrzebuje tylko wtedy kiedy wpisze nowa liczbę.

Potrzebne mi to będzie do tego by dodawać dynamicznie tyle nowych pól input ile wpiszę

Dobra poradziłem sobie
[JAVASCRIPT] pobierz, plaintext
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script>
  5.  
  6. <script type="text/javascript">
  7. $(document).ready(function() {
  8. $('#mecz').keyup(function(event) {
  9.  
  10. if (event.keyCode != '8') {
  11.  
  12. var mecz = ($(this).val());
  13.  
  14. alert(mecz);
  15.  
  16. }
  17.  
  18. });
  19. });
  20.  
  21. </script>
  22. </head>
  23.  
  24. <body>
  25. <input id="mecz" type="text" value="0" />
  26.  
  27. </body>
  28. </html>
[JAVASCRIPT] pobierz, plaintext


Ale potrzebuje teraz sprawdzić czy wpisana liczba jest liczbą całkowitą
mortus
Trzeba sobie funkcję napisać:
[JAVASCRIPT] pobierz, plaintext
  1. function isInt(x) {
  2. var y=parseInt(x);
  3. if (isNaN(y)) return false;
  4. return x==y && x.toString()==y.toString();
  5. }
[JAVASCRIPT] pobierz, plaintext
arzach
Teraz mam taki kod
[JAVASCRIPT] pobierz, plaintext
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script>
  5.  
  6. <script type="text/javascript">
  7.  
  8.  
  9. function isInt(x) {
  10. var y=parseInt(x);
  11. if (isNaN(y)) return false;
  12. return x==y && x.toString()==y.toString();
  13. }
  14.  
  15. $(document).ready(function() {
  16. $('#mecz').keyup(function(event) {
  17.  
  18. if (event.keyCode != '8') {
  19. var mecz = ($(this).val());
  20.  
  21. if(isInt(mecz)) {
  22.  
  23. for (i=1;i<=mecz;i++){
  24.  
  25. $("table").append("<tr><td>test</td></tr>");
  26.  
  27. }
  28.  
  29. }
  30.  
  31. }
  32.  
  33. });
  34. });
  35.  
  36. </script>
  37. </head>
  38.  
  39. <body>
  40. <input id="mecz" type="text" value="0" />
  41.  
  42. <table></table>
  43.  
  44. </body>
  45. </html>
[JAVASCRIPT] pobierz, plaintext


I wszystko działa ale nie do końca tak jak chce gdy wpisze 2 utworzy 2 wiersze w tabeli ale gdy potem wpisze 3 to dodaj mi do tych już utworzonych a chce by wpisze 2 ma utworzyć 2 wiersze w tabeli ale gdy potem zmienię na 3 to ma utworzyć 3 a nie dodawać do siebie za każdym razem jak to zrobić proszę o pomoc ?
amii
Wrzuć przed for usuwanie wszystkich podrzędnych elementów tabeli
$("table tr").remove();
kamil4u
Nie czytałem całego wątku, ale kod na sprawdzenie czy liczba jest int to wystarczy:
Kod
function isIntVal(x){return~~x===x}

W Twoim wypadku zastosuj tylko
Kod
function isIntVal(x){return~~x==x} //są tylko 2 "="
, bo Twoja liczba to w rzeczywistości tekst.
~ jest negacją bitową w JS, ~~ służy do szybkiej zamiany na int - takie parseInt

Kod stąd: http://forum.webhelp.pl/javascript/ciekawe...nia-t49093.html
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.