大家好,我的问题如题所示:
C# WEB 我有一组文本框,他们互斥,只能让其中一个有值?
可以用JS控制么?或者后台代码也行的。
会的大神就不要藏了,在线等。
我这里有个思路,是我临时想的,其实程序员就是看解决问题的能力。
只是跟你大概的讲一下思路,前台和后台都可以,我这里先举用js吧
首先我们这里假设有5个textbox标签,id分别问id1~id5
好了js可以这样写
var id1 = document.getElementById("id1");
var count=0;//用力计算用户输入了多少条数据默认肯定是0
if(id1!=""){//如果id1中用户填入了数据
count = count + 1;
}
...//id2~id5代码同上,你应该会懂
if(count < 1){//用户没有输入数据
alert('请输入数据');
return false;
}
if(count > 1){//用户可能输入了2个以上的数据
alert('你只能输入一个数据哦');
}
else{//最后只剩下一个count==1的可能
alert('你输入格式正确了!');
return true;
}
后台的话用c#来处理差不多,还是要定义一个int32类型的count变量,就相当于把js翻译成后台代码。
希望对你有启发
这个的确是一个思路,但是这样就要遍历到所有的TEXTBOX了,如果有更多的怎么办呢?
@失落の熊熊: 不想遍历也可以,通过一个参数来传递唯一的数据(也就是唯一的textbox中的text)去服务器端。
前台控制,可以增加一定的验证,但是后台也必须要再次进行验证
嗯,可以具体点么?
这个能有dropdownlist或checkboxlist用那个方便,真的要用文本框你用<input for="#"/>,请问你有实现什么功能?
有个打分项,然后该打分项有5个等级,那么用户只能在这5个等级中的某个等级中填上适合的分数。
设置相同的name属性 写那么多判断干嘛
jquery 给你个思路
@刘小备: 哦 JQUERY不是很熟啊 。 有没例子来着。
jquery,每次给某个textarea赋值的时候,将它的兄弟节点的值清除掉