前台代码是这样的
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>无标题页</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
    请输入你想检索的词汇,并以空格分割
        <asp:TextBox ID="TextBox1" runat="server" ></asp:TextBox>
        <asp:Button ID="Button1" runat="server" Text="检索数据库"  OnClick="Button1_Click" /></div>
    </form>
</body>
</html>我希望用户在最多输入3个短语。
当点击Button1按钮时,我要在服务器后台将输入的内容通过空格分解为短语组,比如说输入“A B C”,在后台会分解为A B C3个短语,从而构造SQL查询语句执行查询,但是如果输入“A B C D”就不能执行查询,因为已经是4个独立的短语了。我是这样写的服务器端事件
 protected void Button1_Click(object sender, EventArgs e)//查询事件
        {
   string str_Query =TextBox1.Text.Trim();
      if(当输入的内容用空格分割>=3个短语的时候,执行数据库查询语句)
  {
.........后台执行数据库查询语句
          }
   else//当用户输入的内容被分割为大于3个短语的时候,弹出对话框提示用户重新输入
   {
 response.write("<script   language=javascript>alert('最多输入3个用空格分割的词组,请重新输入');history.go(-1);</script>");
         }
这样写每次都会刷新页面,激发服务器端事件。我希望在客户端验证TextBox1的输入,例如输入带有3个空格的时候,比如说输入“A B C D”,这是4个短语则无法通过验证,从而不能激发服务器端事件执行查询,该怎么用AJAX实现,谢谢,请给个具体的全代码!这样如果在客户端通过验证了,我就直接执行
rotected void Button1_Click(object sender, EventArgs e)//查询事件
        {
.........后台执行数据库查询语句
        }
不用在服务器端判断输入内容是否大于3个短语,从而不用刷新。本人QQ是229741173,希望高人能够指点。
 

解决方案 »

  1.   

    ...这也用不到AJAX吧,,,用脚本实现就行了
     <asp:Button ID="Button1" runat="server" OnClientClick="return CheckInput()"></asp:Button>function CheckInput()//你可以给出提示以","作为分隔更好;
    {
      var inputArray=document.getELementById("TextBox1").value().split(",");
      if(inputArray.length!=3)
       {
          alert("请输入三个词组,并以‘,’分隔");
          return false;
       }
      else
       {return true;}
        
    }
      

  2.   

    return true 的话然要执行后台事件了
      

  3.   

    谢谢,我刚接触AJAX,原来是如果验证需要调用后台的定义规范或者和数据库有交互的话 就用ajax 
    否则完全可以用js来替代。如果我想用blur事件委托函数写,该怎么委托呢,就是让textBox1输入词组后,再失去焦点就自动对输入词语验证。
    谢谢各位的热心回答,大家都分点分吧,(*^__^*) 嘻嘻……,分少,没办法了。特别是kawengsong的解答,对了,还补充下,你的脚本细节有问题,调试了好久才完全解除,呵呵,应该是这样写的
    function CheckInput()//你可以给出提示以","作为分隔更好; 

      var inputArray=document.getELementById('TextBox1').value(.split(","); 
      if(inputArray.length!=3) 
       { 
          alert('请输入三个词组,并以‘,’分隔'); 
          return false; 
       } 
      else 
       {return true;} 
         
    }