Проверка поля формы не работает - PullRequest
0 голосов
/ 25 февраля 2011

У меня есть код проверки формы, который, кажется, не работает правильно, и я не могу понять, почему.

function isTextFieldEmpty(textField){
    //return true or false depending on whether or not there is any text in the field

        console.log("Checking to see if the current field is empty...");

    var val = textField.value;          //val is the text from the current field
        console.log("The current value of 'val' is: " + val);
    if(val.length < 1){
        return true;
    }else{
        return false;
    }

}

Я получаю ошибку: "UncaughtОшибка типа: невозможно прочитать свойство 'длина' из неопределенного ".Конечно, мой журнал консоли говорит, что значение 'val' равно undefined .

Я уверен, что что-то упустил, но я все еще изучаю JS и не могувыяснить, что это такое.Есть предложения?

Редактировать: вот что я передаю функции:

var uName = document.getElementById("unionname");
var noUnionName = isTextFieldEmpty(uName);

'unionname' - это идентификатор текстового поля, которое я пытаюсь проверить.Вот соответствующий HTML:

    <div class="formBox">
        <label for="unionname">Union Name</label>
        <input type="text" name="unionname" id="unionname" value="" class="wide"/>
        <span class="feedback good">Sample good message</span>
    </div>

Ответы [ 2 ]

0 голосов
/ 25 февраля 2011

Я получил это работает. Кажется, что функция проверки была в порядке; проблема была в том, как я это называл.

window.onload = justDoIt;

function justDoIt() {

    var uName = document.getElementById("unionname");

    uName.onblur = function(){
        clearMessages(uName);       // clear out old feedback for this field

        var noUnionName = isTextFieldEmpty(uName);

Вот так я и вызвал функцию.

<ч />

По иронии судьбы кажется, что причиной моей проблемы мог быть неисправный код .onblur, который я пропустил в предыдущем примере Но я действительно не уверен.

0 голосов
/ 25 февраля 2011

Вы объявляете var val локально в этой функции. Попробуйте объявить это глобально, поместив его в начало вашего скрипта; не нужно устанавливать его, просто объявите это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...