Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript] jQuery operacje na formularzach. Optymalna budowa skryptu
Forum PHP.pl > Forum > Przedszkole
kukix
Witam.

Przygotowuje skrypt, który sprawdza zbiorczo wszystkie wskazane przezemnie pola input class="only_int", czy podano wartości całkowite.
Prosze o sugestie, kogoś wprawionego w JavaScript jak zbudowac optymalny/szybki skrypt.


  1. $(document).ready(function() {
  2. $('.only_int').bind('keyup', function(){
  3.  
  4. this.value=this.value.replace(',','.');//NAJPIERW PODMIENIAMY , NA .
  5. var inputValue = $(this).val(); //przypisujemy wartość zmiennej
  6.  
  7. if (inputValue != Math.floor(inputValue)) { //czy całkowita
  8. alert('Ilość musi być całkowita !');
  9. this.value = Math.floor(inputValue);//podmieniamy na całkowitą
  10. }
  11.  
  12. });
  13. });


Moje niewiadome:

1. Dlaczego nie moge przypisac wartości w taki sposób $(this).val() = 'TRESC';
2. Czy kombinacja inputValue, this.value i $(this).val() jest wg Was optymalna, czy zrobilibyście to inaczej? Np Podmieniając przecinek na kropkę, lepiej operowac na nowo załozonej zmiennej var inputValue czy na wartości pola input czyli this.value ?

Będę wdzięczny za wszelkie wypowiedzi, to moje pierwsze świadome kroki z jQuery
cojack
Ad 1) Bo tak się nie da. Możesz zrobić tak: $(this).val('TRESC');
Ad 2) A rób tak jak Ci wygodnie, nie karz nam rozumieć Twojej logiki.
kukix
Cytat(cojack @ 3.11.2011, 14:56:14 ) *
Ad 1) Bo tak się nie da. Możesz zrobić tak: $(this).val('TRESC');
Ad 2) A rób tak jak Ci wygodnie, nie karz nam rozumieć Twojej logiki.


Ad1. tak, ale jak np this.value=this.value.replace(',','.'); zapisac za pomoca tego $(this).val('TRESC') ?
Ad2. To jest taka moja propozycja, chciałem, żeby ktoś bardziej doświadczony zerknął i powiedział, czy jest ok, czy da się to "wydajniej" zrobić.
tomm
ad.1
  1. $(document).ready(function() {
  2. $('.only_int').bind('blur', function(){
  3.  
  4. var newVal = this.value.replace(',','.');
  5. $(this).val(newVal); // albo krócej $(this).val( this.value.replace(',','.') );
  6.  
  7. });
  8. })
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.