本人新手一枚,第一次发博客,有点紧张,不用走什么程序的吧(手动滑稽),最近在写一个注册页面时遇到了一个让我头痛的问题:
就是在注册页面用js验证一个输入框合不合法,如果合法则在cs页面连接SQL数据库,把数据存入数据库中。
就比如说前台代码如下:
<body>
<input id="zh" name="zh" type="text"/>
<p id="zhtishi"></p>
<asp:button text="button" Text="注册" OnClientClick="zhuce()" OnClick ="button_Click"/>
</body>
js代码如下:
<script>
function zhuce(){
var x = document.getElementById("zh").value.trim();
var i = 0;
if (x != null) {
var y = /^\d{9,10}[0-9a-zA-Z]$/;
if (!y.test(x)) {
document.getElementById("zhtishi").innerHTML = "账号不合法";
}
else {
document.getElementById("zhtishi").innerHTML = " ";
++i;
}
}
}
</script>
cs代码如下:
protected void button_Click(object sender, EventArgs e)
{
string i = Request.Form["i"];
string ZH = Request.Form["zh"];
if (i == "1")
{
string constr = "server=.;database=besj;uid=sa;pwd=123";
SqlConnection conn = new SqlConnection(constr);
string sqlstr = "insert into 用户资料 values('"+zh+"')";
SqlCommand cmd = new SqlCommand(sqlstr, conn);
Response.Write("<script> alert('注册成功!');window.location.href='dl.aspx'</script>");
}
那么问题来了,每次点击“注册”按钮时页面都会刷新,账号合法的话倒是没什么问题,但账号不合法时每次都是“账号不合法!”字样闪一下就没了,如果把设置成onclientclick="return zhuce()",方法zhuce()设置成return false;时后面的onclick就不执行了,想让两个都执行,但又不刷新页面可以吗?(据说用ajax局部刷新可以,但我不会啊!有大神帮我写一段吗),或这说在cs页面调用js方法可以吗?(怎么调用?求代码),总之就是用js验证,c#连接SQL,怎么样都行,求大神帮帮忙。