如何用javascript 判断,几个文本框最少填写了两项 10

有一个提交页,里面有联系方式的几个框,分别是QQ,MSN,DIANHUA,SHOUJI<inputtype="text"name="EMAIL"/><inputtype=... 有一个提交页,里面有联系方式的几个框,分别是QQ,MSN,DIANHUA,SHOUJI
<input type="text" name="EMAIL" />
<input type="text" name="QQ" />
<input type="text" name="MSN" />
<input type="text" name="SHOUJI" />
.............

现在,我就想如何用javascript 判断,这几个文本框最少填写了两项?
不要回答的笼统好不好啊,最好把代码写出来,谢谢
展开
 我来答
fc3092
2011-01-07 · 超过16用户采纳过TA的回答
知道答主
回答量:51
采纳率:0%
帮助的人:29.5万
展开全部
在JavaScript中
1,定义个count用于接收数量,把你四个文本框的name放入数组中
2,for循环数组遍历处每个文本框,根据数组中的name得到每个文本框
3,再循环中判断出每个文本框是否为空,如果不为空count+1
4,循环结束后,判断count是否大于等于2,大于就通过,return true;否则,return false
5,建议: 最好是自己敲代码,那样记忆深刻
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
你是谁LCqTt
2011-01-07 · TA获得超过602个赞
知道小有建树答主
回答量:604
采纳率:0%
帮助的人:850万
展开全部
<html>
<head>
</head>
<body>
<input type="text" name="EMAIL" />
<input type="text" name="QQ" />
<input type="text" name="MSN" />
<input type="text" name="SHOUJI" />
<input type="button" value='test' onclick="test()"/>
<script>
function test()
{
var textboxIds = ['EMAIL','QQ','MSN','SHOUJI'];

var count = 0;
for( var i = 0; i < textboxIds.length; i++ )
{
if( !isEmpty( document.getElementById( textboxIds[i] )) && count < 2)
count++;
}

if( count < 2 )
{
alert("请至少填写两项!");
}
}
function isEmpty( txt )
{
var value = txt.value.replace(/^\s*|\s*$/,'');
if( value.length > 0 )
{
return false;
}
return true;
}
</script>
</body>
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
猪头不猪
2011-01-07 · TA获得超过334个赞
知道小有建树答主
回答量:326
采纳率:0%
帮助的人:169万
展开全部
跟判断为空一样,你定一个参数然后都判断一遍,不为空的参数+1,后面再判断参数是否大于2就OK了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友d5e47d83b
2011-01-07 · TA获得超过121个赞
知道答主
回答量:34
采纳率:0%
帮助的人:62.8万
展开全部
function atLeastTwoContacts(){
var allIputs = document.getElementsByTagName("input");
var filledContacts = 0;
for(var i=0;i<allIputs .length;i++){
if(allIputs[i].type='text' && allIputs[i].value.replace(/\s*/,'')) !=''){
filledContacts+=1;
if(filledContacts>1) {
return true;
}
}
return false;
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zhifeichuan
2011-01-18 · 超过17用户采纳过TA的回答
知道答主
回答量:72
采纳率:0%
帮助的人:54.2万
展开全部
测试没问题
function check(){
var allInputs = document.getElementsByTagName("input");
var regex = /(QQ)|(MSN)|(DIANHUA)|(SHOUJI)/;
var filledContacts = 0;
for(var i=0;i<allInputs.length;i++){
if(allInputs[i].type == 'text' && regex.test(allInputs[i].name)){
if(allInputs[i].value.length >0){
filledContacts ++;
}
if(filledContacts > 1) {
return true;
}
}
}
return false;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式