我想做一个输入验证的效果,就是点击按钮后,如果输入框中没有填写内容,就提示填写内容,内容都填完才能转向另一个页面。如果不加入runat="server"后,效果就能出现,但是加入runat="server"后,效果就不能出现了,请帮帮我。
 <script language="JavaScript" type="text/javascript">
         function VerifyData()
{
if (form1.dropMoney.value=="")
{alert ("请选择!");}
if (form1.txtNumber.value=="")
{alert ("请填写!");} }
</script>
</head>
<body>
    <form id="form1" runat="server">
    <div>
    <asp:TextBox Style="z-index: 0" ID="txtNumber" runat="server" Width="45px" MaxLength="4"></asp:TextBox>
     <select id="dropMoney" size="1" name="Select3" runat="server">
                                                    <option selected value="">请选择</option>
                                                    <option value="15">1500以下</option>
                                                    <option value="20">1500-1999</option>
                                                      </select>
     
       <input  id="ibtnConfirm" type=button value="选择" onserverclick="ibtnConfirm_ServerClick1" runat="server">    </input> 
     
    </div>
    </form>

解决方案 »

  1.   

    <input id="ibtnConfirm" type=button value="选择" onserverclick="ibtnConfirm_ServerClick1" runat="server" onclientClick="return VerifyData();"> </input>  
      

  2.   

    function VerifyData()
    {
    if (form1.dropMoney.value=="")
    {alert ("请选择!");
    return false;
    }
    if (form1.txtNumber.value=="")
    {alert ("请填写!");
    return false;}
    }
     <input id="ibtnConfirm" type=button value="选择" OncilentClick="return VerifyData()
    ;"  onserverclick="ibtnConfirm_ServerClick1"  "runat="server"> </input>  
      

  3.   

    onclientClick
      

  4.   

    晕onclientClick 写错了 你加上客户端执行,或者去pageload 里面给给这个控件注册onclick属性
      

  5.   

    onclientclick="VerifyData()" 还是不行。
      

  6.   

    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %><!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" type="text/javascript">
      function VerifyData()
    {
    if (form1.dropMoney.value=="")
    {alert ("请选择!");}else if (form1.txtNumber.value=="")
    {alert ("请填写!");}else 
    {
    alert ("niaho!");
    }
    }</script>
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
      <asp:TextBox Style="z-index: 0" ID="txtNumber" runat="server" Width="45px" MaxLength="4"></asp:TextBox>
      <select id="dropMoney" size="1" name="Select3" runat="server">
      <option selected value="">请选择</option>
      <option value="15">1500以下</option>
      <option value="20">1500-1999</option>
      </select>
     
            <input id="Button2" type="submit"  value="button"  runat="server"   onclick="VerifyData()"  onserverclick="Button2_ServerClick"  />
        
      </div>
        </form>
    </body>
    </html>
      

  7.   

     protected void Page_Load(object sender, EventArgs e)
        {
           this.ibtnConfirm.Attributes.Add("onclick", "return VerifyData();");
        }
    你这样写试试
      

  8.   

    <input id="ibtnConfirm" type=button value="选择" onclick="return VerifyData()
    ;" onserverclick="ibtnConfirm_ServerClick1" "runat="server"> </input>   
      

  9.   

     <script language="JavaScript" type="text/javascript">
    function VerifyData()
    {
     var a = document.getElementById('<%=dropMoney.ClientID %>');
     var b = document.getElementById('<%=txtNumber.ClientID %>');
    if (a.value=="")
    {
      alert ("请选择!");
    }
    if (b.value=="")
    {
    alert ("请填写!");
    }
    }
    </script><asp:Button ID="Button1" runat="server" Text="选择" OnClick="ibtnConfirm_ServerClick1" OnClientClick="VerifyData();" />
      

  10.   

    弱弱的回答一下  runat="server"是运用在asp控件内的 
    input 是html标签 不使用runat="server"
    不知道回答的对不对
      

  11.   

    LZ的意思是点击按钮又可以执行脚本有可以后面代码操作。AJAX吧还是。
      

  12.   

    该成下面这种方式:
    <input id="ibtnConfirm" type="submit" value="选择" onserverclick="ibtnConfirm_ServerClick1" runat="server" onclick="return VerifyData()"> </input>  
      

  13.   

    加上runat=server后,服务器就不认识form1.dropMoney这个东西了
    你试一试alert(form1.dropMoney.value);
    建议你使用document.getElementById("<%=dropMoney.ClientID %>");
      

  14.   

    你用的是input,是客户端控件,这样写就不能用onClientclick啊17L的方法是正确的
    我建议你把input的那个button改成服务器控件,用服务器控件的button,这样自然能跳转到另一个页面
    因为服务器控件一般无法加载客户端脚本,所以这样,你就在里面写上,onclientclick=“return VerifyData()”这样就可以(请无视我的代码大小写,咳咳)
    以前我碰到和你一样的问题,我就是用这种方法解决的具体代码如下:
    <asp:Button ID="ibtnConfirm" runat="server" Text="选择" onclientclick=“return VerifyData()”/>用这种方法的话,js获取服务器控件的问题,你可以使用20l的方法
    document.getElementById("<%=dropMoney.ClientID %>");
    这样就可以获取的到
    希望可以帮到你
      

  15.   

    还不如直接用<asp:Button ID="ibtnConfirm" runat="server" Text="选择" onclientclick=“return VerifyData()”/>如果用input 加runat="server"  加重了服务器的运行..能少就少吧....
     js也可以这样写  $("#dropMoney").val()
      

  16.   

    <script language="JavaScript" type="text/javascript">
      function VerifyData()
    {
      if (document.getElementById("dropMoney").value==""
      {alert ("请选择!"); return false;}
        if (document.getElementById("txtNumber").value=="")
       {alert ("请填写!");return false;}
    return true;}
    </script>
    </head>
    <body>
      <form id="form1" runat="server">
      <div>
      <asp:TextBox Style="z-index: 0" ID="txtNumber" runat="server" Width="45px" MaxLength="4"></asp:TextBox>
      <select id="dropMoney" size="1" name="Select3" runat="server">
      <option selected value="">请选择</option>
      <option value="15">1500以下</option>
      <option value="20">1500-1999</option>
      </select>
        
      <input id="ibtnConfirm" type=button value="选择" onserverclick="ibtnConfirm_ServerClick1" runat="server" onClick="return VerifyData()"> </input>  
        
      </div>
      </form>
      

  17.   

    btn1.Attributes.Add("onclick","return 函数名")