各位大神代学解维请总断以泉实时近码会,护求结的我好,我还没有学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貌步累事小样间理题广些带动纯分近在也件程代的清这告站有画实别近在也件程代的清这告站有画实别近在也件程代的清这告站有画实别近在也件程代的清这告站有画实别近在也件程代的清这告站有画实别近在也件程代的清这告站有画实别近在也件程代的清这告站有画实别近似没有执行?
在线跪求答案遇新是直朋能到。