通过ajax和json进行表单验证(异步加载)

首先我们在action中定义一个需要json传值的map

和需要与页面交互的数据      
private Map map;

    public Map getMap() {
        return map;
    }

    public void setMap(Map map) {
        this.map = map;
    }
    private String name;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
当我们进行注册时,ajax直接进行判断数据库中是否存在,如果存在则提示无法注册
//dao层
public List<UserBean> getUserByName(String name){
        List user = hibernateTemplate.find("from UserBean where name=? ",name);
        return user;
    }
action中
public String add() {
        List list = userDao.getUserByName(name);
        map = new HashMap();
        map.put("state", "ok");
        if(list.size()!=0) {
            map.put("message", "该帐号已存在~亲亲!");
            map.put("code", 1);
        }else {
            map.put("message", "该帐号可以用~");
            map.put("code", 0);
        }
        return SUCCESS;
    }
struts中进行配置
<package name="json" namespace="/api" extends="json-default">
        <action name="addAction" class="apiAction" method="add">
            <result name="success" type="json">
                <param name="root">map</param>
            </result>
        </action>
    </package>
接下来进行jsp页面
<!-- 布局 -->
<form action="addAction" method="post">
        <table>
            <tr>
                <td>用户名</td>
                <td><input type="text" id="name" name="name" onblur="add()" /></td>
                <td><span id="message"></span></td>
            </tr>
            <tr>
                <td>密码</td>
                <td><input type="password" name="pwd" /></td>
            </tr>
            <tr>
                <td><input type="submit" value="注册"/></td>
                <td><input type="reset" value="重置"/></td>
            </tr>
        </table>
    </form>
    <!-- 导入jquery以及样式 -->
    script type="text/javascript" src="res/jquery.min.js"></script>
<style type="text/css">
    .red{
        color: red;
    }
    .green{
        color: green;
    }
<!--ajax代码-->
<script type="text/javascript">
    function add() {
        var name = $("#name").val();
        $.ajax({
               type: "POST",
               url: "api/addAction",
               data: "name="+name,
               success: function(msg){
                if(msg.code==1){
                    $("#message").removeClass();
                    $("#message").addClass("red");
                    $("#message").html(msg.message);
                }else{
                    $("#message").removeClass();
                    $("#message").addClass("green");
                    $("#message").html(msg.message);
                }
               }
            });
    }

</script>
实现效果

这里写图片描述

这里写图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值