2016-05-31 5 views
0

Я не знаю, что я делаю неправильно, у меня есть форма и эта функция используется, чтобы проверить, является ли вход пустым ... что Iam пытается сделать, это выделить поле, добавив класс в текстовое поле ... но если я добавлю эту строкувалидация в форме не работает

name.addClass ("empty");

функции, функция не работает

function register() 
{ 
    if(document.myForma.userid.value == '') 
    { 
     name = $("#userid"); 
     document.myForma.userid.focus(); 
     $("#empty").html("This field is required") 
     name.addClass("empty"); 
     return false; 
    } 
} 
+0

Как это не работает? Вы получаете какую-то ошибку? –

+2

'name = $ (" # userid ");'-note "$" – Igor

+0

@CacheStaheli У меня нет ошибок. Я вижу, что она пропускает функцию – Pedro

ответ

3

Объявите вашу name переменные как локальные, или использовать другое имя для него, - глобальный window.name уже существует и не может быть изменен.

console.log(name); 
 

 
function register() { 
 
    if (document.myForma.userid.value == '') { 
 
    var name = $("#userid"); 
 
    document.myForma.userid.focus(); 
 
    $("#empty").html("This field is required"); 
 
    name.addClass("empty"); 
 
    return false; 
 
    } 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 

 
<form id="myForma" name="myForma" onsubmit="return register();"> 
 
    <input id="userid" type="text" /> 
 
    <div id="empty"></div> 
 
    <input type="submit" /> 
 
</form>

+1

+1, что я был в процессе публикации, Еще одна причина НЕ использовать глобальные переменные. Мне также нравится добавленная точка с запятой на линии до недавно добавленной. –

+0

Отлично, я забыл поставить «var» в форме имени ... спасибо – Pedro

Смежные вопросы