输入为空时发出警报

时间:2013-07-26 21:09:36

标签: jquery perl

我有一个表格,我希望所有字段都填写。如果没有填写字段,我想显示该字段的红色背景和消息。

    \$('#id_form').blur(function()
    {
        if( $(this).val().length == 0 ) {
            $(this).parents('p').addClass('warning');
        }

print $q->start_form (-method => 'post', -action => "add.pl", -id => 'id_form');
print $q->legend({-class => "ui-widget-header ui-corner-all"},"");
print $q->input ({-id => 'name', -name => 'name',-type => 'text' , -size => 20, -style => ' margin-left:300 px' },"<br>");

我不确定这是正确的方法!

3 个答案:

答案 0 :(得分:0)

您必须将元素绑定到DOM。您可以使用$(document).ready(),或使用jQuery的匿名函数,如下所示:

$(function () {
    $('#id_form').blur(function () {
        if ($(this).val().length == 0) {
            $(this).parents('p').addClass('warning');
        };
    });
});

答案 1 :(得分:0)

试试这个http://jsfiddle.net/tYhpw/

$('#id_form input').on('blur', function () {
    if( $(this).val() == '' ) {
        $(this).css('border','1px solid #f00');
    }else{
        $(this).css('border','1px solid #000');
    }
});

答案 2 :(得分:0)

我使用这个Jquery函数和一个按钮来检查是否所有字段都已填写:

    function check(){

    var ok = 1;

    $('input').each(function(){

    if($(this).val().length == 0){ 
        ok = 0; $(this).css('background-color','red');
        alert("Error message"); 
    }

    else{ $(this).css('background-color',''); }
});

if(ok != 1){ alert("Error message"); }

else{ $('#form').submit(); }

}

也许这有帮助?