一個頁面我有60個textbox,有三種情況
一種是只能輸入:0,0.5,1
另一種只能輸入:0,0.5,1,1.5,2
另一種只能輸入:0,0.5,1,1.5,2,2.5,3,3.5,4,4.5,5
各位有什麼好的方法解決以下問題:
1,如何判斷實現以上三種格式的輸入?
1,提示用戶哪個textbox輸入有問題?
2,代碼如何做到簡化?

解决方案 »

  1.   

    用正則可以做嗎?或者RangeValidator
      

  2.   

    60個textbox
    ?????
    考虑一点人性化.这么多的输入框,恐怕没有人愿意去填写啊.
      

  3.   

    xlbh(翔龙不悔) 選擇是可以,但我的頁面有權限控制,無權限的人只是readonly狀態,而唯讀狀態的DropDownList內容似乎不太明顯hchxxzx(NET?摸到一点门槛) 呵呵,我在寫應用系統,當然會考慮人性化,我做的是一個設備考核的評分功能,它的考核有60項,當然需要60個textbox了
    wpater(丑丑) ,我想用正則去判斷,可不太會寫
      

  4.   

    <asp:RegularExpressionValidator id="RegularExpressionValidator1" runat="server" ErrorMessage="XXXXX" ControlToValidate="TextBox1"
    ValidationExpression="[0,0.5,1]" Display="Dynamic">*</asp:RegularExpressionValidator>
    其他类似,如果需要校验非空,加上RequiredFieldValidator控件
      

  5.   

    superalu009(黑黑) RangeValidator不能只限定0,0.5,1之類的,只能有范圍吧?我試下 lx1205(ぐ阴魂不散) 的方法,搞定馬上結帖
      

  6.   

    function FormAdd(theForm)
    {
    if (theForm.vname.value == "")
    {
    alert("请输入用户名!");
    form1.vname.focus();
    return false;
    }
    if (theForm.vpwd.value == "")
    {
    alert("请输入用户名密码!");
    form1.vpwd.focus();
    return false;
    }
    for (i=5;i<tab.rows.length;i++){
    tr=tab.rows[i];
    if (i==5 || i==13 ||i==16 || i==12||i==9){
    if (tr.cells[1].children[0].value=="0" || tr.cells[1].children[0].value=="" ){
    alert(tr.cells[0].innerText.replace('*','').replace(':','')+'不能为空');
    tr.cells[1].children[0].select();
    return false;
    }

    }
    if (document.all.select_kind.value==1){
    if (i==17||i==6){
    if (tr.cells[1].children[0].value=="0" || tr.cells[1].children[0].value=="" ){
    alert(tr.cells[0].innerText.replace('*','').replace(':','')+'不能为空');
    tr.cells[1].children[0].select();
    return false;
    }
    }
    if (i==7) {
    for(j=0;j<tab2.rows.length-2;j++){
    tr2=tab2.rows[j];
    if (tr2.cells[1].children[0].value=="0" || tr2.cells[1].children[0].value=="" ){
    alert(tr2.cells[0].innerText.replace('*','').replace(':','')+'不能为空');
    tr2.cells[1].children[0].select();
    return false;
    }

    }
    }
    }
    }

    if (theForm.VisitId.value.length == 0)
    {
    document.form1.action = "VisitAdd.asp?action=Add";
    }
    else
    {
    document.form1.action = "VisitAdd.asp?action=Mod";
    }
    return true;
    /*
    if(theForm.IDCard.value.length != 0)
    {
    if(theForm.IDCard.value.search(/d{18}|d{15}/)==-1)
    {
    alert("请输入正确的身份证号码!");
     document.form1.IDCard.value.focus();
     document.form1.IDCard.value.select();
    return false;
    }
    }*/
    }
      

  7.   

    用正则表达式,或者用javaScript脚本验证和控制。
    另外,只能离开时验证,无法输入时验证,因为无法知道什么时候是输入完一个数据;
    如输入1.5,当输入1.时,还没输入完,验证就会出错。
      

  8.   

    js不太现实,因为textbox多达60个,而且分数不是固定的
    我就想用正则加RegularExpressionValidator去做,
    可惜我只会写简单的,谁有相关资料的?回 job_2006(初学.net) ,这是一个设备考核的项目,用户要求分数只能是这样我也没办法啊谁能帮忙的,搞定加100分!!!
      

  9.   

    lz换个实现方法吧
    分3类,每类用droplist选择分数
      

  10.   

    在客户端验证也不错,
    可以用javascript 来实现function checkdata()
    {
       for(i=1;i<=60;i++)
        {
          if ((eval("theform.TextBox" + i).value!="0") & (eval("theform.TextBox" + i).value!="0.5") & (eval("theform.TextBox" + i).value!="1") & (eval("theform.TextBox" + i).value!="1.5") & (eval("theform.TextBox" + i).value!="2") & (eval("theform.TextBox" + i).value!="2.5") & (eval("theform.TextBox" + i).value!="3") & (eval("theform.TextBox" + i).value!="3.5") & (eval("theform.TextBox" + i).value!="4") & (eval("theform.TextBox" + i).value!="4.5") & (eval("theform.TextBox" + i).value!="5"))
    alert("你输入的数据有错误!");
    eval("theform.TextBox" + i ).focus();
    return;
        }
    }
    我经常用这种方法实现。
      

  11.   

    我觉得的用客户端验证比较好,你试试bolly(坐在床上写程序) 的程序.还可以用HTML控件,也很方便.
      

  12.   

    用if吧。
    string a="0.5";
    string b="1";
    string c="1.5";
    if(textbox1.text==a||textbox1.text==b||textbox.text==c)
    { 正确}
    else{错误}
      

  13.   

    我也想问一个问题  我想让textbox 输入的上整型 
    我不想用正則去判斷,应该怎么实现?