我需要选择此类文本框以验证必填字段。我该怎么做呢?似乎我可以使用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语句没有意义。
答案 0 :(得分: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();
});
}
答案 1 :(得分: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>
答案 2 :(得分: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();
}
});
}