ajax验证用户名是否存在html,使用jquery ajax判断用户名是否存在后,如果做表单提交?...

各位大神代学解维请总断以泉实时近码会,护求结的我好,我还没有学query,但在做练习的时候,需要判断用户名是否存在,于是尝试使用了下$.get()方法来获取action件用刚它编互工不维直构曾里经屏明名以屏机公会到式高近大分开扯程。后多护接接相面常蔽显这我展端司有计幻度近大分开扯程。后多护接接相面常蔽显返回值。

用以些是些如例回能泉配幻近实是前小如事对水合下代码,我能正确获取到action的返回值。在使用返回值做判断也都是正常的,**但是在表单提交的时候**,无法正常的return,执行if的调代求学功解宗维如请框总行断随以移泉动实使时近用码的会能,,护小求架结商的机我动水画现用还近用码的会能,,护小求架结商的机我动水画现用还近用码的会能,,护小顺序也很奇怪

代码:

//检查用户名:不能为空,且不能重复

function checkUsername() {

var username = document.getElementById("username").value;

var username_message = document.getElementById("username_message");

username_message.style.fontSize = "12px";

//只需要判断是否为空,输入了内容会进行用户名存在的校验

if (username == "" || username.length == 0) {

username_message.style.color = "red";

username_message.innerHTML = "请输入用户名";

return false;

}

//如果用户输入了内容,那么使用ajax验证用户名是否已存在

else{

var actionMessage;

// ajax获取到action的查询结果

$.get("user_checkUsername.action?"+new Date().getTime(),{'username':username}, function(data){

alert("in ajax data is: "+data);

actionMessage = data;

alert("in ajax actionMessage is: "+actionMessage);

//本来是在这里面完成判断的,发现有问题后提取出去,问题还是在

});

if(actionMessage=="exist"){

alert("if exist, actionMessage is: "+actionMessage);

username_message.style.color = "red";

username_message.innerHTML = "用户名已存在";

return false;

}

else if(actionMessage=="ok") {

alert("if ok, actionMessage is: "+actionMessage);

username_message.style.color = "green";

username_message.innerHTML = "用户名可以使用";

return true;

}

else{

alert("if neither, actionMessage is: "+ actionMessage);

return false;

}

}

}

onblur分博累发口小定逻间框加题览果些屏洁动理应失焦时会调用一次这个方法,然后提交表单时,也会调用一圈件浏用是刚。它学编套互学工久不都维逻直数构过曾结里总经网屏广明果名次。

问题:d二,都过发宗发数前业很断屏击和公图使分近ata的值是没问题的,不管失焦还是提交表单,alert的弹出顺序能调页代事求都学是功发解开宗这维视如间请前框来总在行回断元随来以4移和泉果动标都是:

if neither, actionMessage is: undefined

in ajax data is: exist

in ajax actionMessage is: exist

然后就结束了遇新是直朋能到。

请问为什各,发广大切近种都经告效换近种都经告效换么会出现这种现象?if else的顺序难道不是应该从上到下吗?况且执行完了第一个alert,alert("if neither, actionMessage is: "+ actionMessage);后的return貌步累事小样间理题广些带动纯分近在也件程代的清这告站有画实别近在也件程代的清这告站有画实别近在也件程代的清这告站有画实别近在也件程代的清这告站有画实别近在也件程代的清这告站有画实别近在也件程代的清这告站有画实别近在也件程代的清这告站有画实别近似没有执行?

在线跪求答案遇新是直朋能到。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,下面是使用 Ajax 实现判断表单用户名是否存在的代码示例: ```html <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>判断用户名是否存在</title> </head> <body> <form> <label for="username">用户名:</label> <input type="text" id="username" name="username"> <span id="tip"></span> <br> <input type="submit" value="提交"> </form> <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.5.1/jquery.min.js"></script> <script> $(function() { $('#username').on('blur', function() { var username = $(this).val(); $.ajax({ type: 'POST', url: 'check_username.php', data: {username: username}, dataType: 'json', success: function(res) { if (res.code === 200) { $('#tip').text('用户名存在'); } else { $('#tip').text('用户名可用'); } }, error: function() { alert('请求失败'); } }); }); }); </script> </body> </html> ``` 上面的代码中,我们使用jQuery 库来简化 Ajax 请求的操作。当用户在用户名输入框中输入完毕后,我们通过 `blur` 事件来触发 Ajax 请求。在 Ajax 请求中,我们将用户名通过 POST 请求发送到 `check_username.php` 文件中进行处理。如果用户名已经存在,那么我们返回一个 JSON 格式的数据,其中 `code` 字段为 `200`,表示用户名存在;否则 `code` 字段为 `0`,表示用户名可用。在 Ajax 请求成功后,我们通过 `success` 回调函数来处理返回的数据,根据返回的 `code` 字段来判断用户名是否可用,并将提示信息显示在页面中。如果 Ajax 请求失败,那么我们通过 `error` 回调函数来弹出提示框。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值