2013-07-30 3 views
1

Я хочу проверить ввод пользователя, когда пользователь нажал кнопку отправки, но это не сработает.Проверка поля jQuery не работает

JQuery

$(document).ready(function() { 
    function validateForm() { 
     if ($('#u').value() == '') 
     { 
     alert("no value found"); 
     return false; 
     } 

    }); 

}); 

HTML

<form name="myForm" action="main.php" onsubmit="return validateForm()" method="post"> 
    <input type="text" id="u" /> 
    <input type="submit" value="submit" /> 
</form> 
+0

В вашей форме нет 'id =" u "'. – Barmar

+0

Что значит «это не сработает»? – federicot

+0

просто '$ ('# u'). Val()'. И вы получите его –

ответ

2

Есть много проблем в вашем коде.

  • Значение неfunction но attribute удалить вы можете использовать val(), а также вы не можете использовать значение с объекта JQuery вы можете использовать его с объектом DOM.

  • Возможно, вы, возможно, забыли присвоить идентификатор своему полю ввода, также назначьте его.

  • Оператор <input type="text"> должен b4 <input id="u" type="text">

  • У вас есть дополнительные скобки после закрытия currly кронштейна функции validateForm, вы не закрывая входные метки.

Live Demo

if ($('#u').val() == '') 
{ 
    alert("no value found"); 
    return false; 
} 

Вы можете использовать родной Javascript метод getElementById, чтобы получить элемент DOM (объект) и использовать значение свойства этого объекта.

Live Demo

if (document.getElementById('u').value == '') 
{ 
    alert("no value found"); 
    return false; 
} 
+1

Правда, но нет id = "u", поэтому ваш ответ не работает для его конкретной проблемы , EDIT: Теперь вопрос включает id = "u", он просто изменил его. Лол. –

+0

Спасибо @ Алехандро Иван, вы правы, обновил мой ответ. – Adil

+0

Я хочу изменить значение #label вместо предупреждения. Вот почему я использовал jquery – IceDawg

0

Попробуйте

if ($('#u').value() == '') 
{ 
    alert("no value found"); 
    return false; 
} else { 
    $('form[name="myForm"]').submit(); 
} 
+0

@ campari, тогда он вообще не отправит форму. – IceDawg

0

Как @Barmar предложил проверить существующий код для отсутствующего идентификатора. Я бы добавил id="u" в <input type="text">, а также будьте осторожны при выборе имен идентификаторов, которые являются неоднозначными, особенно для того, чтобы другие могли прочитать ваш код позже.

Теперь, когда вы изменили первоначальный вопрос, который трудно увидеть, как появляется соответствующей

0

Кстати, мой ответ, я нашел неловкость в вашем коде. Давайте сосредоточимся на этой линии:

...... 
    if ($('#u').value() == '') 
    { 
    alert("no value found"); 
    return false; 
    } 

}); 

}); 

Там в два });, которые один за $(document) и который один для if() ?? Хотя для if(), не печатайте так, просто } для условного закрытия. А для создания function ... вам не нужно вводить функцию внутри $(document).ready. Он может быть автономным.Например:

function validateForm() { 

    if ($('#u').val() == '') 
    { 
     alert("no value found"); 
     return false; 
    } 

} 

И вы должны изменить .value() для .val()

See this результата. Надеюсь, это поможет

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