Javascript для проверки правильности и изменения цвета текстового поля - PullRequest
0 голосов
/ 27 октября 2011

Проверьте код:

<script type="text/javascript">
    function ValidateTextBox(source, args) {
        var is_valid = false;

        //Regex goes here
        var regex = /^[a-z A-Z]+$/;
        var check = regex.test($('tbName').val()); //Checks the tbName value against the regex
        if (check == true) {
            //If input was correct
            is_valid = true;
        }
        else {
            //If input is not correct
            $("tbName").css(("background-color", "#A00000"), ("border-color", "#780000"));
        }
        args.IsValid = is_valid; //Returns validity state
    }
</script>

Я пытаюсь проверить ввод текстового поля, чтобы его единственный символ находился между a и z, и A и Z, но он по-прежнему возвращает true даже при вводе, например "1245 ".

Почему это?

Спасибо

1 Ответ

2 голосов
/ 27 октября 2011

$('tbName') может быть недопустимым селектором.

Вы имели в виду выбрать класс?

$(.tbName')

Как насчет элемента с идентификатором = tbName?

$('#tbName')

Кроме того, зачем вам это нужно?Это НЕ будет доступно вне функции, так как это локальная переменная, переданная функции (через ее параметры)

args.IsValid = is_valid;

Вы можете просто сделать простой возврат:

function ValidateTextBox() {
    var regex = /^[a-z A-Z]+$/;
    return regex.test($('#tbName').val());
}
...