我有一个包含两个文本框(textbox1,textbox2)的表.两个文本框都是必需的.如果我没有在textbox1中输入值并输入值textbox2,反之亦然,我应该收到一条错误消息.我们怎样才能用jQuery实现这个目标?
Rya*_*nch 11
我发现这样做的最简单方法是在文本框中添加一个类,例如'requiredField'.
<input type="text" class="requiredField" />
Run Code Online (Sandbox Code Playgroud)
然后,您可以使用"查找"功能获取表格中的所有必填字段.
textboxes = $('#tableid').find('.requiredField');
Run Code Online (Sandbox Code Playgroud)
然后使用'each'函数迭代它们
textboxes.each(function() {
if(this.value.length==0){
//do something here
}
}
Run Code Online (Sandbox Code Playgroud)
有了这样的东西,我通常会将文本框的边框涂成红色,并添加一个警告,告诉用户必须填写所有必填字段.
这是最终的代码.
requiredFields = $('#tableid').find('.requiredField');
var allFieldsComplete = true;
requiredFields.each(function(index) {
if (this.value.length == 0) {
$(this).addClass('requiredIncomplete');
allFieldsComplete = false;
} else {
$(this).removeClass('requiredIncomplete');
}
});
if(!allFieldsComplete){
alert('Please complete all required fields');
}
return allFieldsComplete;
Run Code Online (Sandbox Code Playgroud)
您还需要在CSS中指定"requiredIncomplete"样式.这将做的是检查表中的所有文本框,看它们是否包含数据.如果文本框不包含数据,则会向其添加"requiredIncomplete"类(其中包含一些样式以将其与其他文本框区分开),否则将删除该类.如果所有字段都包含数据,则返回true;如果其中一个字段缺少数据,则返回false.
归档时间: |
|
查看次数: |
21473 次 |
最近记录: |