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中查看提交和返回的结果

SSH+Ajax实现用户名重复检查(一)的更多相关文章

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

    1.另外一种更常用的js表达方式: var user = { inintEvent: function(){ $("input[name='user.User_LogName']" ...

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

    title: 使用原生Ajax进行用户名重复的检验(一) date: 2019-01-21 17:35:15 tags: [JavaScript,Ajax] --- Ajax的复习 距离刚开始学aja ...

  3. 使用ajax验证用户名重复

    继上次的用户注册登录案例之后,对其中的部分功能再做进一步改进.上一版中用户提交表单后才对用户名进行校验,虽然做了回显,但还是感觉功能弱了些.为了能有更好用户体验,不是在用户提交表单后才给提示,而是在用 ...

  4. SSH网上商城---使用ajax完成用户名是否存在异步校验

    小伙伴在上网的时候,需要下载或者观看某些视频资料,更或者是在逛淘宝的时候,我们都需要注册一个用户,当我们填写好各种信息,点击确定的时候,提示用户名已经存在,小编就想,为什么当我们填写完用户名的时候,她 ...

  5. Ajax检测用户名是否已经注册

    程序功能 当用户名输入完成(即用户名输入框失去焦点),利用Ajax检测用户名是否已经注册! 实现过程 利用Ajax向CheckUserServlet发送请求,判断该用户名是否可用.这里只是为了演示Aj ...

  6. Ajax验证用户名是否被注册

    Ajax验证用户名是否被注册 var xmlHttp; function createXMLHttpRequest(){ // 创建XMLHttp请求对象 if(window.ActiveXObjec ...

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

    最近感觉不赶紧把代码逻辑记一下梳理一下,再做的时候就容易进入"逻辑误区". 有个表单,简单点. <!DOCTYPE html> <!-- 注册表单验证,用户名格式 ...

  8. 使用AJAX实现用户名的唯一性校验(注册界面)-JAVA(新手)

    (1)实现用户名的唯一性校验 所需要准备的: Servlet 注册界面的JSP 接口和实现类 所需要的接口和实现类: 接口: /* * 用户注册 * 账号的唯一性校验,需要传参(username) * ...

  9. 案例1.用Ajax实现用户名的校验

    用Ajax实现用户名的校验 java的验证类 public class UserDao { public boolean checkUserName(String name) { //这里的name是 ...

随机推荐

  1. ThinkPHP函数详解:C方法

    C方法是ThinkPHP用于设置.获取,以及保存配置参数的方法,使用频率较高.了解C方法需要首先了解下ThinkPHP的配置,因为C方法的所有操作都是围绕配置相关的.ThinkPHP的配置文件采用PH ...

  2. web工作方式,浏览网页,打开浏览器,输入网址按下回车键,然后会显示出内容,这个过程是怎样的呢?

    以下内容摘自<Go Web编程>,介绍的通俗易懂. 我们平时浏览网页的时候,会打开浏览器,输入网址后按下回车键,然后就会显示出你想要浏览的内容.在这个看似简单的用户行为背后,到底隐藏了些什 ...

  3. PHP根据数组的值分组

    PHP根据数组的值分组,php array中没有自带这个函数但是很常用,今天写了出来记录一下. 代码: $_array = array(        array(1,11,'2016-05-18') ...

  4. DP练习(初级):ZigZag

    题目来源:http://community.topcoder.com/stat?c=problem_statement&pm=1259&rd=4493 类似于求最长子串的方法.dp[0 ...

  5. 使用日志服务LogHub替换Kafka

    https://yq.aliyun.com/articles/35979#index_section

  6. [Effective C++ --025]考虑写出一个不抛异常的swap函数

    引言 在我的上一篇博客中,讲述了swap函数. 原本swap只是STL的一部分,而后成为异常安全性编程的脊柱,以及用来处理自我赋值可能性. 一.swap函数 标准库的swap函数如下: namespa ...

  7. jquery实现无缝滚动

    //点击上一页 $('.pointLeft').click(function() { if (prevAllow) { prevAllow = false; scrollUlLeft = scroll ...

  8. 如何用 PHPMailer 来发送邮件?

    <?php require_once('mantisbt-1.2.15/library/phpmailer/class.phpmailer.php'); $mail= new PHPMailer ...

  9. mysql聚合函数

    1.统计一下插入的数据总数 SELECT COUNT(giftCertificateId) AS number FROM gift_certificate WHERE giftCertificateN ...

  10. C#数据操作LINQ

    Linq是language integrated query的缩写,即"语言集成查询"之意. Linq主要包含四个组件,Linq to object.Linq to XML.Lin ...