SSH+Ajax實現使用者名稱重複檢查

來源:互聯網
上載者:User

標籤:style   blog   http   color   os   io   ar   for   檔案   

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實現使用者名稱重複檢查

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.