Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JQuery] Zarządzanie formularzem
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
duch4ever
Mam pytanie o formularze, jak nimi zarządzać jeśli np w inpucie x mamy wartość inną niż '1' to żeby input y stawał się nie aktywny?
Jakiś skrypt jquery może, znacie jakieś sposoby proste?
patrix007

$('#inputX').blur(function() {
if($('#inputX').val() != '1') {
$('#inputY').attr('disabled', 'disabled');
}


Dla jQuery coś w ten deseń.
kilas88
Kod
$('input').bind('change', function(e) {

    if ($(this).val() != '1') {
        $(this).attr('disabled', 'disabled');
    }

    e.preventDefault();

});


Nie testowałem, choć powinno być dobrze. Powodzenia biggrin.gif
duch4ever
Coś nie działa smile.gif, a tak na marginesie szukałem w google i trafiłem na ten post więc jestem znów haha.gif
kilas88
Cytat(duch4ever @ 18.08.2010, 01:25:31 ) *
Coś nie działa smile.gif, a tak na marginesie szukałem w google i trafiłem na ten post więc jestem znów haha.gif

Co? Sprawdź w konsoli błędów przeglądarki.
duch4ever
  1. $('#inputX').blur(function() {
  2. if($('#inputX').val() != '1') {
  3. $('#inputY').attr('disabled', 'disabled');
  4. }


Kod działa ale blokuje inputa na stałe a ja chce żeby jak się wpisze 1 odblokowywało
lDoran
  1. $('#inputX').blur(function() {
  2. if($('#inputX').val() != '1')
  3. $('#inputY').attr('disabled', 'disabled');
  4. else
  5. $('#inputY').attr('enabled', 'enabled');
  6. }
kilas88
Cytat(lDoran @ 18.08.2010, 13:45:13 ) *
  1. $('#inputX').blur(function() {
  2. if($('#inputX').val() != '1')
  3. $('#inputY').attr('disabled', 'disabled');
  4. else
  5. $('#inputY').attr('enabled', 'enabled');
  6. }

Haha, nie żartuj smile.gif

duch4ever, można to rozwiązać w prosty sposób.

Kod
$('#inputX').blur(function() {
if($('#inputX').val() != '1') {

/**
tutaj musisz zablokować w sposób jaki tylko zechcesz - nie wiem co przez to rozumiesz, bo ogólnie przyjęte blokowanie elementu formularza oznacza dodanie do niego atrybutu disabled

w przykładzie poniżej czyści pole, jeśli wartość nie równa się 1
**/
$('#inputY').attr('value', '');

}
duch4ever
  1. <script type="text/javascript">
  2. $(document).ready(function() {
  3. $("#form_opis").keyup( function() {
  4.  
  5.  
  6. $('#form_opis').keyup(function() {
  7. if($('#form_opis').val() != '1') {
  8. $('#form_opis2').attr('disabled', 'disabled');
  9. }
  10.  
  11. $('#form_opis').keyup(function() {
  12. if($('#form_opis').val() == '1') {
  13. $('#form_opis2').attr('disabled', '');
  14. }
  15.  
  16. });});});;});
  17. </script>


Już to jakoś na swój rozum skleciłem smile.gif ale jak polu nieaktywnemu ustawić wartość pustą bo jak coś wpisze i w drugim polu dam inna wartość niż 1 to w tamtym zostaje to co wpisałem

  1. $("#form_opis2").val('');


Manual mi pomógł smile.gif dzięki temat do zamknięcia
patrix007
Cytat(duch4ever @ 18.08.2010, 13:32:43 ) *
Kod działa ale blokuje inputa na stałe a ja chce żeby jak się wpisze 1 odblokowywało


No to co za problem pomyśleć ? smile.gif

Wystarczyło coś dopisać i wyglądałoby to tak:


  1. $('#inputX').blur(function() {
  2. if($('#inputX').val() != '1') {
  3. $('#inputY').attr('disabled', 'disabled');
  4. } else {
  5. $('#inputY').removeAttr('disabled');
  6. }

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.