ajax自动提示的文本框,文本框输入时 实现自动提示(像百度、google一样)

文本框输入时 实现自动提示(像百度、google一样),需要的朋友可以参考下

只要有三个文件:

一个js插件autocomplete.js和autocomplete.css两个文件,这是jquery官方网站提供的插件;

他们的下载地址:http://jqueryui.com/demos/autocomplete/

一个是一般处理程序 ;

一个是apsx页面,看下面的代码吧;

前台:

复制代码 代码如下:

$(document).ready(function() {

ShowUserList($("#TextBox1"), "LoginTest.ashx");

//TextBox1为文本框的ID,loginTest.ashx为请求的一般处理程序。

function ShowUserList(obj, url) {

$.getJSON(

url,

function(msg) {

var names = new Array();

msg = msg.Table;

var names = new Array();

for (var i = 0; i < msg.length; i++) {

names.push(msg[i].loginName);

}

obj.focus().autocomplete(names);

}

);

}

});

用户名:

后台是一般处理程序:

复制代码 代码如下:

public class LoginTest : IHttpHandler

{

string str;

public void ProcessRequest(HttpContext context)

{

getUserName();

context.Response.Write(str);

}

public bool IsReusable

{

get

{

return false;

}

}

private void getUserName()

{

DataSet ds = SqlHelper.BuildDataSet("select * from login", CommandType.Text);

str = ConvertJson.ToJson(ds);

}

}

运行结果:

20120405232658321.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我来帮你解决这个问题。首先,你需要在前端代码中添加一个事件监听器,当用户输入完账号后离开User_name文本框,触发Ajax请求,向后端发送查询账号是否重复的请求。以下是代码示例。 ```html <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Register</title> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script> <script> $(document).ready(function(){ $("#User_name").blur(function(){ var username = $(this).val(); // 获取用户输入的账号 $.ajax({ url: "/check_username", type: "POST", data: {username: username}, success: function(data){ if(data == "exist"){ // 如果账号已存在 alert("该账号已被注册,请更换账号!"); } } }); }); }); </script> </head> <body> <form action="/register" method="POST"> <label for="User_name">账号:</label> <input type="text" id="User_name" name="username"><br><br> <label for="Password">密码:</label> <input type="password" id="Password" name="password"><br><br> <button type="submit">注册</button> </form> </body> </html> ``` 在上述代码中,我们使用了jQuery库来简化Ajax请求的操作,当用户离开User_name文本框,触发blur事件,获取用户输入的账号,并使用Ajax向后端发送POST请求,请求的URL为/check_username。在后端代码中,我们需要实现一个/check_username的路由,用于处理Ajax请求,查询账号是否重复。 下面是后端代码的示例。 ```python from flask import Flask, request app = Flask(__name__) usernames = set() # 用集合保存已注册的账号 @app.route('/check_username', methods=['POST']) def check_username(): username = request.form['username'] if username in usernames: return "exist" # 如果账号已存在,返回字符串"exist",在前端代码中进行判断 else: return "not exist" @app.route('/register', methods=['POST']) def register(): username = request.form['username'] password = request.form['password'] # 在这里添加注册用户的代码 usernames.add(username) # 添加已注册的账号 return "register success" if __name__ == '__main__': app.run() ``` 在上述代码中,我们定义了一个集合usernames,用于保存已注册的账号。当用户提交注册表单,后端接收到POST请求,获取账号和密码后,进行用户注册,并将已注册的账号添加到usernames集合中。在/check_username路由中,我们查询usernames集合,如果账号已存在,返回字符串"exist",否则返回字符串"not exist"。在前端代码中,当Ajax请求成功后,如果返回的字符串是"exist",则弹出提示框,提示用户更换账号。 希望这个示例能帮到你完成新账号的注册过程。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值