前台代码是这样的
<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,希望高人能够指点。
<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,希望高人能够指点。
解决方案 »
- ASP.NET的web页面gridview导出数据到EXCEL中的问题
- asp.net 配置---无法找到该页~
- 想在一幅图象的几个热区上使用样式表:当鼠标移到某个热区上时,这个热区出现一个边框,当鼠标移出此热区后,边框消失。请教高手这个怎么做?
- 超有意思的问题
- 在gridview中进行rowcommand操作时,怎样获得当前行的信息
- asp.net中,为什么页面不定时报错
- vs用datagrid的问题
- 高手请进
- 我的asp.net程序无法访问!高手快来帮忙啊!
- asp.net有好多地方和JAVA,JSP差不多!
- 如何利用javascript,禁用掉IE浏览器的刷新按钮???或者干脆在程序的首页上就不显示IE的工具栏???
- html页面转成aspx后的布局出现问题!!!
<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;}
}
否则完全可以用js来替代。如果我想用blur事件委托函数写,该怎么委托呢,就是让textBox1输入词组后,再失去焦点就自动对输入词语验证。
谢谢各位的热心回答,大家都分点分吧,(*^__^*) 嘻嘻……,分少,没办法了。特别是kawengsong的解答,对了,还补充下,你的脚本细节有问题,调试了好久才完全解除,呵呵,应该是这样写的
function CheckInput()//你可以给出提示以","作为分隔更好;
{
var inputArray=document.getELementById('TextBox1').value(.split(",");
if(inputArray.length!=3)
{
alert('请输入三个词组,并以‘,’分隔');
return false;
}
else
{return true;}
}