怎么获取TextBox?
1、在ASP.NET中
C#:this.TextBoxID
VB:me.TextBoxID
2、JavaScript
document.getElementById("TextBox ID Or Name");

解决方案 »

  1.   

    ASP.NET 应该是从POST中的数据筛选的...那跟JS没关系,
    比如你用ASP 表单POST提交时, 就可以知道XX控件的内容...
      

  2.   

    高手帮我写一个JavaScript的验证脚本.我的页面上有三个控件,我已经在面上限制用户输入必须为数字:
    <asp:TextBox ID="txtOutPort" runat="server"></asp:TextBox>
    <asp:TextBox ID="txtDigital" runat="server"></asp:TextBox>
    <asp:TextBox ID="txtSimulate" runat="server"></asp:TextBox>
    现在我要实现验证的功能:
    1、用户在这个三个控件里面的输入数字总和不能大于512。
    2、根据用户的输入顺序的不同限制其它控件应填入数据的大少:
       情况一:用户最先在txtOutPort里面输入x时,txtDigital或txtSimulate里面填入的数字都不能大于512-x。
       情况二:用户最先在txtDigital里面输入x时,txtOutPort或txtSimulate里填入的数字都不能大于512-x。
       情况三:用户最先在txtSimulate里面输入x时,txtOutPort或txtDigital里填入的数字都不能大于512-x。
       情况四:用户先在txtOutPort里面输入x、在txtDigital里面输入y时,txtSimulate里填入的数字不能大于512-x-y;
       情况五:用户先在txtOutPort里面输入x、在txtSimulate里面输入y时,txtDigital里填入的数字不能大于512-x-y;
       情况六:用户先在txtDigital里面输入x、在txtSimulate里面输入y时,txtOutPort里填入的数字不能大于512-x-y;
       
    请高和帮我写个JavaScript的验证函数,感激不尽!致谢!
      

  3.   

    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="textbox.aspx.cs" Inherits="textbox" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" >
    <head runat="server">
        <title>无标题页</title>
        <script language="javascript">
        function foo()
        {
        var t1=document.getElementById("txtOutPort");
        var t2=document.getElementById("txtDigital");
        var t3=document.getElementById("txtSimulate");
        if(Number(t1.value)>512||Number(t2.value)>512||Number(t3.value)>512)
        {
        alert("请不要大于512");
        }
        if((Number(t1.value)+Number(t2.value)+Number(t3.value))>512)
        {
        alert("三个数和不能大于512");
        }
        //alert(Number(t1.value));
        }
        
        </script>
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
    <asp:TextBox ID="txtOutPort" runat="server"></asp:TextBox>
    <asp:TextBox ID="txtDigital" runat="server"></asp:TextBox>
    <asp:TextBox ID="txtSimulate" runat="server"></asp:TextBox>
    <input type="button" value="提交" id="button1" onclick="foo()"/>
        </div>
        </form>
    </body>
    </html>
      

  4.   

    我用的ASP.NET(C#)做一个用事件的方式验证(限制)用户的输入,每输入一次都返回到服务器上验证(页面要刷新一次),碰到网速慢的时候用户会很着急的.我现在要改成客户端验证的方式,请高手帮我写一个JavaScript的验证脚本.我的页面上有三个输入控件,三个lable用于显示用户应输入的数字范围,三个比较验证控件限制和提示用户的输入范围:
    <asp:TextBox ID="txtOutPort" runat="server"></asp:TextBox>
    <asp:Label ID="lblOutPort" runat="server" Text="0-512"></asp:Label>
    <asp:RangeValidator ID="RangeValidator1" runat="server" ControlToValidate="txtOutPort" ErrorMessage="0-512之间的整数!" MaximumValue="512" MinimumValue="0" Type="Integer"></asp:RangeValidator><asp:TextBox ID="txtDigital" runat="server"></asp:TextBox>
    <asp:Label ID="lblDigital" runat="server" Text="0-512"></asp:Label>
    <asp:RangeValidator ID="RangeValidator2" runat="server" ControlToValidate="txtDigital" ErrorMessage="0-512之间的整数!" MaximumValue="512" MinimumValue="0" Type="Integer"></asp:RangeValidator><asp:TextBox ID="txtSimulate" runat="server"></asp:TextBox>
    <asp:Label ID="lblSimulate" runat="server" Text="0-512"></asp:Label>
    <asp:RangeValidator ID="RangeValidator3" runat="server" ControlToValidate="txtSimulate" ErrorMessage="0-512之间的整数!" MaximumValue="512" MinimumValue="0" Type="Integer"></asp:RangeValidator>我已经在页面上限制用户输入必须为数字,现在我要实现验证(限制)的功能如下:
    1、用户在这个三个控件里面的输入数字总和不能大于512。
    2、根据用户的输入顺序的不同限制其它控件应填入数据的大少:
       情况一:用户最先在txtOutPort里面输入x时,txtDigital或txtSimulate里面填入的数字都不能大于512-x(需要给用户在lable控件里面提示,在RangeValidator控件里面限制或用警告框的方式提示\限制用户服务)。
       情况二:用户最先在txtDigital里面输入x时,txtOutPort或txtSimulate里填入的数字都不能大于512-x。
       情况三:用户最先在txtSimulate里面输入x时,txtOutPort或txtDigital里填入的数字都不能大于512-x。
       情况四:用户先在txtOutPort里面输入x、在txtDigital里面输入y时,txtSimulate里填入的数字不能大于512-x-y;
       情况五:用户先在txtOutPort里面输入x、在txtSimulate里面输入y时,txtDigital里填入的数字不能大于512-x-y;
       情况六:用户先在txtDigital里面输入x、在txtSimulate里面输入y时,txtOutPort里填入的数字不能大于512-x-y;
       
    如果出现上面任何一种情况情况都要向用户作提示:
    (需要给用户在lable控件里面提示,在RangeValidator控件里面限制或用警告框的方式提示\限制用户服务)。请高和帮我写个JavaScript的验证函数,感激不尽!致谢!
      

  5.   

    你倒底是要RangeValidator控件的,还是要JS的?要是用JS验证,我上面写的不已经可以简单难了么
      

  6.   

    不一定非要用<asp:textbox>控件验证,用<input>控件一样可以,如果需要要后台取值,就这样写<input ID="txtOutPort" runat="server" onkeyup="foo(this)"/>  ------加个runat标记
    <head runat="server">
        <title>无标题页</title>
        <script language="javascript">
        function foo(v)
        {
        var t1=document.getElementById("txtOutPort");
        var t2=document.getElementById("txtDigital");
        var t3=document.getElementById("txtSimulate");
        if(Number(v.value)>(512-Number(t1.value)-Number(t2.value)-Number(t3.value)+Number(v.value)))
        {
        alert("输入的数字不能大于"+(512-Number(t1.value)-Number(t2.value)-Number(t3.value)+Number(v.value)));
        v.value="";
        }
        }
        
        </script>
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
    <input ID="txtOutPort" runat="server" onkeyup="foo(this)"/>
    <input ID="txtDigital" runat="server" onkeyup="foo(this)" />
    <input ID="txtSimulate" runat="server" onkeyup="foo(this)"/>
        </div>
        </form>
    </body>
      

  7.   

    代码的执行顺序是:先client后server.你如果用textbox的验证方式,不可能实现弹出提示框的效果.除非你在提交按钮上加调用client事件,或者在textbox的CS端textbox.Attributes.Add试试看
      

  8.   

    你用我最后给你写的方法吧,<input runat=server>可以使用RangeValidator验证
      

  9.   

    <head id="Head1" runat="server">
        <title>无标题页</title>
        <script language="javascript">
        function foo(v)
        {
        var t1=document.getElementById("txtOutPort");
        var t2=document.getElementById("txtDigital");
        var t3=document.getElementById("txtSimulate");
        if(Number(v.value)>(512-Number(t1.value)-Number(t2.value)-Number(t3.value)+Number(v.value)))
        {
        alert("输入的数字不能大于"+(512-Number(t1.value)-Number(t2.value)-Number(t3.value)+Number(v.value)));
        v.value="";
        }
        }
        
        </script>
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
    <input ID="txtOutPort" runat="server" onkeyup="foo(this)"/>
    <asp:RangeValidator ID="RangeValidator1" runat="server" ControlToValidate="txtOutPort" ErrorMessage="0-512之间的整数!" MaximumValue="512" MinimumValue="0" Type="Integer"></asp:RangeValidator><br />
    <input ID="txtDigital" runat="server" onkeyup="foo(this)" />
    <asp:RangeValidator ID="RangeValidator2" runat="server" ControlToValidate="txtDigital" ErrorMessage="0-512之间的整数!" MaximumValue="512" MinimumValue="0" Type="Integer"></asp:RangeValidator><br />
    <input ID="txtSimulate" runat="server" onkeyup="foo(this)"/>
    <asp:RangeValidator ID="RangeValidator3" runat="server" ControlToValidate="txtSimulate" ErrorMessage="0-512之间的整数!" MaximumValue="512" MinimumValue="0" Type="Integer"></asp:RangeValidator>
        </div>
        </form>
    </body>
      

  10.   

    <asp:TextBox ID="txtOutPort" runat="server"></asp:TextBox>
    <asp:TextBox ID="txtDigital" runat="server"></asp:TextBox>
    <asp:TextBox ID="txtSimulate" runat="server"></asp:TextBox>
    <input type="button" value="提交" id="button1" onclick="foo()"/><script language="javascript">
    function foo(v) //服务器端控件的ID与客户端页面里的ID是不一样的
    {
        var t1=document.getElementById("<%= txtOutPort.ClientID %>");
        var t2=document.getElementById("<%= txtDigital.ClientID %>");
        var t3=document.getElementById("<%= txtSimulate.ClientID %>");
        alert(t1.value);
    }
    </script>
      

  11.   

    嘿嘿.所以我用的是<input runat="server">
      

  12.   

    老兄,用input加runat="server"的方式要搞出一个麻烦来的。我页面的里面好多地方的取值、计算都要得做的。这个不划算的。请高手帮我搞一个还是用<asp:textbox>控件。谢谢啊,我在线等高手了。
      

  13.   

    搞出麻烦来?什么麻烦?加runat标记,后台一样可以读取,赋值,不明白你说的麻烦指什么.@_@!
      

  14.   

    你不喜欢用<input>也可以,上面不是给你方法了么?用按钮提交的方式做!
    两种方法不是已经都做给你了?
    你还要怎么样?手把手教么?
      

  15.   

    如果你是用的master或者frame这类东西套入的,那楼上的楼大侠已经告诉你方法了:
    var t3=document.getElementById("txtSimulate");
    replace
    var t3=document.getElementById("<%= txtSimulate.ClientID %>");
      

  16.   

    谢谢。大哥。请问你的QQ或MSN我在网上有时有请教您!
    我的msn:[email protected]
      

  17.   

    [email protected]
    不是经常在线
      

  18.   

    老兄这句话我看不懂,请帮忙解释一下。给你添麻烦了。我没怎么用过JavaScript,请你多批评指点,这点东东做好了后,我想我总能学点的。
    if(Number(v.value)>(512-Number(t1.value)-Number(t2.value)-Number(t3.value)+Number(v.value)))
      

  19.   

    在<input>控件内定义了一个onkeyup="foo(this)"事件你问的那句话的意思就是 this.value>(512减去t1减去t2再减t3,同时加上自己的值)
    也就是说综合了你要的6种情况,写的一种方法,可以让三个控件共同调用这一个function你可以理解成,当任何一个控件的输入值大于512减去其他另外两个控件的输入值的总和时,触发
      

  20.   

    谢谢鼓励!
    搞这个就是不断的学习!哈哈
    请老兄帮我推荐一个什么学习JavaScript的书或参考资料,这个还是要系统的学一下,在客户端使用很方便的。有电子书(请给下载地址)更好!
      

  21.   

    这个你得问梅老大他们呵呵,本人才疏学浅,书看的也少,而且了解的多是些许皮毛.
    真的要说推荐什么好书,CSDN高手如云,还轮不到我说话啦,哈哈
      

  22.   

    老兄:我照猫画虎的搞了这么一个,控件使用的是<ASP:TextBox>,帮看看这样写行不行?还不我不知怎么调用这个JavaScript的函数(不知我在<asp:Button ID="Maths" CssClass="button3" runat="server" Text="生成报价" OnClick="Maths_Click" OnClientClick="UserInput()">添加的OnClientClick="UserInput()这样对不对,反正我试了一下是不行的.不知何故)
    <script language="javascript" type="text/javascript">
        function UserInput(v)
        {
            var t1=document.getElementById("<%= txtOutPort.ClientID %>");
            var t2=document.getElementById("<%= txtDigital.ClientID %>");
            var t3=document.getElementById("<%= txtSimulate.ClientID %>");
            if(Number(v.vlue)>(512-Number(t1.vlue)-Number(t2.vlue)-Number(t3.value)+Number(v.value)))
            {
                alert("输入的值不能大于"+(512-Number(t1.vlue)-Number(t2.vlue)-Number(t3.value)+Number(v.value)));
                v.value="";
            }
        }
        </script>
      

  23.   

    在ASP.NET写JS来验证表单,主要是表单的ID要写好
    不是我们正常的TextBox1
    而是类似aspnetForm.CtrlWantJob1_TextBox1
    aspnetForm:是当前表单名,
    CtrlWantJob1,是我的所属的用户自定义控件的表单名
    TextBox1才是我们正常的文本框名字.这个可以具体的在最后浏览的IE里查看源文件, 看表单的最终具体名称。举例:
    if (aspnetForm.CtrlWantJob1_TBName.value=="") {alert("请输入姓名!"); aspnetForm.CtrlWantJob1_TBName.focus();return false;alert("dsfdsafsfsf");}
      

  24.   

    function UserInput(v)--------这是有参数的,可是你下面的clientclick是没有参数的,肯定是不行的.
     OnClientClick="UserInput()"
      

  25.   

    马上要开会,有时间回家上网再帮你弄一个<asp:textbox>的吧.
      

  26.   

    请问<asp:text>控件怎么进行客户端验证?
      

  27.   

    补充上一个问题:请问<asp:text>控件怎么进行客户端验证? 怎样才能调用我写的JavaScript函数呢?
      

  28.   

    补充上一个问题:请问<asp:TextBox>控件怎么进行客户端验证? 怎样才能调用我写的JavaScript函数呢?
      

  29.   

    textbox验证可以用onpropertychange="事件名";onpropertychange是当textbox的值发生改变时激活事件,或者用onblur,只个是失去焦点时发生。
    或者你可以放个按钮,按钮点击的时候对textbox进行验证
    好多方法的。
      

  30.   

    如果你页面没有按钮的话,可以用onblur="事件";
    失去焦点时验证三个textbox的和是不是满足条件
      

  31.   

    补充上一个问题:请问<asp:TextBox>控件怎么进行客户端验证? 怎样才能调用我写的JavaScript函数呢?
    -----------------
    用html控件的事件就可以了
    比如:
    <script>
        function dd(v)
        {
        alert(v);
        }
        </script>
    <asp:TextBox ID="TextBox1" runat="server" onfocusout="dd(this.value)"></asp:TextBox>