Javascript 为什么即使我输入了正确数量的字符串/数据,警报框也会弹出?

Javascript 为什么即使我输入了正确数量的字符串/数据,警报框也会弹出?,javascript,jquery,Javascript,Jquery,我对username var的验证是否有问题?我不知道为什么即使我为username()提供了正确的数据,警报框也会不断弹出 if(userid==“”){ $(“#dialog:ui dialog”).dialog(“销毁”); $(“#对话框确认”)。对话框({ 可调整大小:false, 身高:230, 宽度:350, 莫代尔:是的, 按钮:{ “寄存器”:函数(){ $(此).dialog(“关闭”); $('div#registerpopup')。对话框({ 可调整大小:false, 身

我对username var的验证是否有问题?我不知道为什么即使我为username()提供了正确的数据,警报框也会不断弹出

if(userid==“”){
$(“#dialog:ui dialog”).dialog(“销毁”);
$(“#对话框确认”)。对话框({
可调整大小:false,
身高:230,
宽度:350,
莫代尔:是的,
按钮:{
“寄存器”:函数(){
$(此).dialog(“关闭”);
$('div#registerpopup')。对话框({
可调整大小:false,
身高:485,
宽度:420,
莫代尔:是的,
按钮:{
“寄存器”:函数(){
如果(username==“”| | username.length<1 | | username.length>30 | | username.indexOf(“”)!=-1){
警报(“用户名是必需的\n-不应少于1个字符\n-不超过30个字符\n-它也可能不包含空格”);
返回false;
}
if(password.length<7 | | password.indexOf(“”)!=-1){
警报(“密码不应为空\n-至少应为7个字符”);
返回false;
}
如果(重新键入密码!=密码){
警报(“重新键入的密码应与密码相同!”);
返回false;
}
如果(emailaddress==“”| | emailaddress.search(emailRegEx)==-1){
警报(“需要电子邮件地址,并且应该是有效的电子邮件地址”);
返回false;
}
如果(secondaryemailaddress!=电子邮件地址){
警报(“辅助电子邮件地址应与主电子邮件地址相同!”);
返回false;
}
if(secretquestion==“”){
警告(“需要秘密问题!”);
返回false;
}
如果(秘书长==“”){
警告(“需要秘密答案!”);
返回false;
}
如果(reffcode==“”){
警报(“需要参考代码!”);
返回false;
}
$(此).dialog(“关闭”);
}
}
});
},
“登录”:函数(){
$(此).dialog(“关闭”);
$('div#loginpopup')。对话框({
可调整大小:false,
身高:230,
宽度:350,
莫代尔:对
})
}
}
});
返回false;
}

只需将
autoOpen:false
添加到jQuery UI对话框中即可

$('div#loginpopup').dialog({
    autoOpen: false,
    resizable: false,
    height: 230,
    width: 350,
    modal: true
});

验证的逻辑很好,我猜您可能会在同一点丢失或重置用户名值,或者根本不设置它。

这没有帮助。我的问题是,用户名验证。为什么即使我满足用户名字段本身的验证,该字段的警报框仍然弹出?请发布您的电子邮件我相信很快就会有人整理好的。现在没有人知道
用户名
和其他变量是什么。这一个
警报(“用户名是必需的\n-不应该少于1个字符\n-不超过30个字符\n-它可能也不包含空格”);
,即使我满足了用户名字段的条件,也要确保用户名变量设置正确。如果您是对的,var username等应该放在对话框函数中。非常感谢
$('div#loginpopup').dialog({
    autoOpen: false,
    resizable: false,
    height: 230,
    width: 350,
    modal: true
});