SSH+Ajax实现用户名重复检查

1、struts.xml设置

<package name="default" namespace="/" extends="json-default"><!--用ajax要此extends-->

<action name="userJSON_checkname" class="ssh.action.UserAction" method="checkName" >
<result type="json">
<!-- root的值对应要返回的值的属性,这里的result值即是 对应action中的属性result,也即ajax中的返回值data -->
<param name="root">checkresult</param>
</result>
</action>

</package>

2、html和js,在需要提交的form页面中包含两个js文件,jquery.js(随便下载一个版本)和username_check.js(如下)

<form id="tea_reg" method="post" name="tea_reg" >
用户名<input name="user.User_LogName" type="text"id="user.User_LogName"size="20" maxlength="255" /><label id="message">验证用户名</label></form>
var user = {
    inintEvent: function(){
        $("input[name=‘user.User_LogName‘]").unbind("blur"); /*移动开输入框的时候就会响应,user.User_LogName为输入框的名字*/
        $("input[name=‘user.User_LogName‘]").bind("blur", function(){
            user.checkUser($(this).val());
        });
    }, 

    checkUser:function(logname){
        var parameter = {
            logname:logname/*入参,为什么用这样表示,形参:实参?*/
        }; 

        $.post("userJSON_checkname.action",parameter,function(data){ /*userJSON_checkname为action的名字*/
                /*这里的参数date就是在struct.xml里面定义的参数checkresult,也即action的一个属性值*/
            if(data=="ok"){
                $("#message").text("该用户名可用");
                $("#message").css("color","blue");
            }else{
                $("#message").text("该用户名不可用");
                $("#message").css("color","red");
            } 

        }); 

    }
};
/*启动页面的时候绑定动作绑定*/
$(document).ready(function(){
    user.inintEvent(); /*绑定到用户名输入框*/
}); 

3、action部分,在UserAction类中添加如下代码

   public String logname;
    public String checkresult;
    public String getcheckresult() {/*名字要一致,用于返回数据*/
        return this.checkresult;
    }

    public void  setlogname(String logname) /*名字要一致,会自动获取传递过来的参数logname*/
    {
        this.logname = logname;
    }
    public String getlogname()
    {
        return this.logname;
    }
    public String checkName(){
        User tmp;
        tmp = userservice.findUserByName(logname);/*userservice的具体方法根据自己的项目设置定义,这已经与ajax无关了*/
        if(null !=tmp )
        {this.checkresult = "err";/*最终要返回的值,浏览器自动获取*/
        }
        else
        {
            this.checkresult = "ok";
        }

        return SUCCESS;
    }

4、实现调试,在chrome中查看提交和返回的结果

时间: 2024-10-15 15:51:10

SSH+Ajax实现用户名重复检查的相关文章

SSH+Ajax实现用户名重复检查(二)

1.另外一种更常用的js表达方式: var user = { inintEvent: function(){ $("input[name='user.User_LogName']").unbind("blur"); /*移动开输入框的时候就会响应,user.User_LogName为输入框的名字*/ $("input[name='user.User_LogName']").bind("blur", function(){ us

使用原生Ajax进行用户名重复的检验

title: 使用原生Ajax进行用户名重复的检验(一) date: 2018-10-21 17:35:15 tags: [JavaScript,Ajax] --- Ajax的复习 距离刚开始学ajax那会有一段时间了,然后用得又比较少.都有些生疏了呢 ̄へ ̄,现在刚好要实现一个用Ajax检验重复的功能,顺便复习一下Ajax. 关于Ajax 作用 :通过Ajax可以无需更新整个网页,而只更新部分内容,优化用户体验: 原理: AjaxEngine, 通常使用XMLHtttpRequest对象与服务器

使用ajax验证用户名重复

继上次的用户注册登录案例之后,对其中的部分功能再做进一步改进.上一版中用户提交表单后才对用户名进行校验,虽然做了回显,但还是感觉功能弱了些.为了能有更好用户体验,不是在用户提交表单后才给提示,而是在用户输入用户名后就立即对该用户名进行数据库校验,经过晚上的测试现在可以使用纯js版和jquery版. 准备工作,先编写好验证用户名重复的后台Servlet程序,然后在jsp或html中使用js对用户名进行验证,当用户输入用户名文本框推动焦点时立即触发验证.下面是jquery代码. <%@ page l

使用Ajax完成用户名异步校验--【SSH】

1.事件触发--onblur <td><!-- onblur用户离开输入框的时候执行 --> <input type="text" id="username" name="username" class="text" maxlength="20" onblur="checkUsername()"> <span id="span1&quo

JS判定注册表单的几个方式 及 Ajax进行用户名存在判定

最近感觉不赶紧把代码逻辑记一下梳理一下,再做的时候就容易进入"逻辑误区". 有个表单,简单点. <!DOCTYPE html> <!-- 注册表单验证,用户名格式(未加入Ajax)密码两次相同,则可提交 --> <html> <head> <meta charset="UTF-8"> <!-- 实现form表单验证及跳转action --> <title>JS2_form表单验证&l

ajax验证用户名和密码

1 var user = form.name.value; 2 var password = form.password.value; 3 var url = "chkname.php?user="+user+"&password="+password;//以前只知道ajax用于对用户名的检测,原来还可以对密码进行检测. 4 xmlhttp.open("GET",url,true); 5 xmlhttp.onreadystatechang

BOM组件物料重复检查

好吧,今天同事让做个BOM组件物料重复检查 网上有很多例子都是在保存的时候检查的,用的是BADI :BOM_UPDATE 自己也试了一下,麻烦....很麻烦...尤其是在重复检查的时候: METHOD if_ex_bom_update~change_at_save. DATA:z_stpob TYPE LINE OF cs01_stpob_tab, z_stpob1 TYPE LINE OF cs01_stpob_tab, g_tab_bstpob TYPE TABLE OF stpob, g_

11月10日上午ajax基础知识、用ajax做登录页面、用ajax验证用户名是否可用、ajax动态调用数据库

1.ajax的基础知识 ajax是结合了jquery.php等几种技术延伸出来的综合运用的技术,不是新的内容.ajax也是写在<script>标签里面的. 如果使用ajax一定是要有1个处理页面的,处理页面只是操作数据库并且返回值,页面都是ajax处理的. ajax的写法: test.php <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR

使用Ajax验证用户名

Ajax是一项很重要的技术,下面简要举个例子,来解释如何使用Ajax.步骤如下:使用Ajax验证用户名使用文本框的onBlur事件 使用Ajax技术实现异步交互创建XMLHttpRequest对象通过 XMLHttpRequest对象设置请求信息向服务器发送请求创建回调函数,根据响应状态动态更新页面 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>