是什么导致这个额外的“未定义”?

时间:2011-09-11 22:10:06

标签: javascript jquery forms

我已经创建了一个表单,我正在使用jQuery来检查所有带有“required”类的字段。如果字段的值为空,我最终会将错误消息附加到错误div。

无论如何,出于某些原因,在我的测试中,当我尝试将“name”属性输出到错误div时,我得到一个额外的“未定义”。

以下是一个实例:http://lab.willpracht.net/form.php 点击顶部的按钮。

你会注意到firstName之前的额外“undefined”。任何人都可以找出导致这种情况的原因吗?我很困惑。

这是js:

$('input[type="button"]').click(function(){

            var errors;

            // Disable the error message, if displayed.
            $('html').scrollTop(0);
            $('#error').fadeOut('slow');

            // Loop thru all required, check to see if empty.
            $('.required').each(function(){
                if($(this).val() === ''){ 
                    //errors += $(this).attr('id') + '<br />';
                    errors += $(this).attr('name') + '<br />';
                }
            });

            $('#error .texture').html(errors);
            $('#error').fadeIn('slow');

        });

谢谢大家:)。

2 个答案:

答案 0 :(得分:3)

尝试将var errors;设置为var errors="";

答案 1 :(得分:2)

将错误定义为字符串:

var errors = "";

var errors;只需声明变量。声明变量而不设置值会使值保持为undefined