Używam jQuery, aby sprawdzić, czy wejście ma określoną wartość, a jeśli ma to wartość, włączenie przycisku Prześlij. Problem polega na ustawieniu wartości do 4, ale jeśli 44 (lub wszystko, co zaczyna się od 4), wprowadza go, nadal umożliwia przycisku. Raz, raz 4 zostanie wprowadzony, można zmienić na wszystko, a przycisk pozostaje włączony.

To, co chciałbym zrobić, to tylko zmienić, aby włączyć, jeśli wartość wynosi 4, a jeśli wartość zostanie zmieniona, przycisk Prześlij powinien być wyłączony.

Jquery

$(document).ready(function() {
    $('#check').keyup(function() {
        if($(this).val() === '4') {
            $('.submit').removeAttr('disabled');
        }
    });
});

HTML

<input id="check" type="text" name="check" />

<input type="submit" name="submit" class="submit" disabled="disabled">
1
awsm 27 listopad 2013, 21:39

5 odpowiedzi

Najlepsza odpowiedź

Spróbuj tego:

$('#check').change(function() {
    if($(this).val() === '4') {
        $('.submit').removeAttr('disabled');
    }
    else $('.submit').attr('disabled', 'disabled');
});

W rzeczywistości musisz ponownie wyłączyć przycisk przesyłania, jeśli chcesz, aby wartość nie jest 4.

Jeszcze lepiej, zamiast

$('.submit').attr('disabled', 'disabled');

Możesz / powinieneś użyć

$('.submit').prop('disabled', true);

Więc przewodnik staje się

$('#check').change(function() {
    if($(this).val() === '4') {
        $('.submit').removeAttr('disabled');
    }
    else $('.submit').prop('disabled', true);
});
4
Matteo Tassinari 11 luty 2021, 12:59

Dzieje się, ponieważ nie jesteś wyłączający przycisku, jeśli wartość nie jest 4.

$('#check').keyup(function() {
    if($(this).val() === '4') {
        $('.submit').removeAttr('disabled');
    }
    else{
        $('.submit').attr('disabled','disabled');
    }
});
0
Hiral 27 listopad 2013, 17:41

Po prostu dodaj inny, który go wyłącza :)

$(document).ready(function() {
    $('#check').keyup(function() {
        if($(this).val() === '4') {
            $('.submit').removeAttr('disabled');
        } else {
            $('.submit').prop('disabled', true);
        }
    });
});
0
Joel Peltonen 27 listopad 2013, 17:41

Musisz go przywrócić.

$(document).ready(function() {
    $('#check').change(function() {
        if($(this).val() === '4') {
            $('.submit').removeAttr('disabled');
        }else{
            $('.submit').prop('disabled');
        }
});
0
scrblnrd3 27 listopad 2013, 17:41

Posługiwać się:

$('#check').keyup(function () {
    $('.submit').prop('disabled', $(this).val() !== '4' );
});

JSFiddle Przykład

0
j08691 27 listopad 2013, 17:48