0

我需要选择这样的文本框以验证必填字段。我该怎么做呢?似乎我可以使用 if 语句,但我不确定如何实现。

我编写了以下必填字段验证器来测试空文本框,但无法检测具有多个空格的文本框。我没有以正确的方式进行验证吗?我应该使用插件进行验证吗?

function validate()
        {
            $('.LoginFormBodyRightColumn input:text[value!=""]').next('span[class*="RequiredValidator"]').hide();
            $('.LoginFormBodyRightColumn input:text[value=""]').next('span[class*="RequiredValidator"]').show();
            $('.LoginFormBodyRightColumn input:password[value!=""]').next('span[class*="RequiredValidator"]').hide();
            $('.LoginFormBodyRightColumn input:password[value=""]').next('span[class*="RequiredValidator"]').show();


        }

在我看来,if 语句在 jQuery 中没有位置,因为在 jQuery 中你选择了一些东西,然后在选择器上执行一些东西。涉及选择器的 if 语句是没有意义的。

4

3 回答 3

1
function validate()
        {
         $('.LoginFormBodyRightColumn input:text,.LoginFormBodyRightColumn input:password,').each(function(){
         if($.trim($(this).val())==="")
         $(this).next('span[class*="RequiredValidator"]').show();
         else
         $(this).next('span[class*="RequiredValidator"]').hide();
         });
         }
于 2012-07-25T09:27:17.910 回答
1

据我了解你的问题试试这个..

<input class="LoginFormBodyRightColumn" type="text" />
<span class="RequiredValidator">*</span>
<input class="LoginFormBodyRightColumn" type="password" />
<span class="RequiredValidator">*</span>

<script >
  $("input").each(function(){
  var str=$(this).val();

  if(str=='')
      $(this).next('span[class*="RequiredValidator"]').show();
  else
      $(this).next('span[class*="RequiredValidator"]').hide();
  });
 </script>
于 2012-07-25T09:29:28.680 回答
1

尝试获取所有输入的值并使用不使用 jquery 选择器的代码进行验证。使用 jquery trim 函数删除空格。

function validate( jQueryFormSelector )
{
  var inputs = $(jQueryFormSelector).find('input');
  inputs.each( function (i,el) {
    if ( $.trim( $(el).val() ) == '' )
    {
      $(el).next('span[class*="RequiredValidator"]').show();
    }
    else
    {
      $(el).next('span[class*="RequiredValidator"]').hide();
    }
  });

}
于 2012-07-25T09:34:14.573 回答