JavaScript注册验证错误
JavaScript registration validation error?
我有以下JavaScript运行我的注册验证,但每次我输入一些东西,它返回username_ok为未定义,并每一个其他*_ok项。这个函数应该在定义之后运行,这样我就可以允许用户注册,但是它没有定义它。
有人能帮我一下吗?我想保持代码的相同格式,只是得到submit_check()函数的工作。$(document).ready(function() {
var min_chars = 4;
var characters_error = 'Minimum amount of chars is 4';
var checking_html = 'Checking...';
$('#username').keyup(function(){
if($('#username').val().length < min_chars){
$('.username_error').html(characters_error);
$('.username_error').css('color', 'red');
$('#username').css('color', 'red');
$('#username').css('border', '1px solid red');
}else{
$('.username_error').html(checking_html);
$('.username_error').css('color', '#DDDDDD');
$('#username').css('color', '#DDDDDD');
$('#username').css('border', '1px solid #DDDDDD');
check_availability();
}
});
});
function check_availability(){
var username = $('#username').val();
$.post("./includes/check-user.php", { username: username },
function(result){
if(result == 1){
$('.username_error').html('The username ' + username + ' is Available');
$('.username_error').css('color', 'green');
$('#username').css('color', 'green');
$('#username').css('border', '1px solid green');
var user_ok='1';
submit_check();
}else{
$('.username_error').html('The username ' + username + ' is not Available');
$('.username_error').css('color', 'red');
$('#username').css('color', 'red');
$('#username').css('border', '1px solid red');
}
});
}
$(document).ready(function() {
var min_chars_name = 4;
var characters_error_name = 'Please enter atleast 4 chars.';
$('#fname').keyup(function(){
if($('#fname').val().length < min_chars_name){
$('.fname_error').html(characters_error_name);
$('.fname_error').css('color', 'red');
$('#fname').css('color', 'red');
$('#fname').css('border', '1px solid red');
}else{
$('.fname_error').css('color', 'green');
$('#fname').css('color', 'green');
$('#fname').css('border', '1px solid green');
$('.fname_error').html('');
var fname_ok='1';
submit_check();
}
});
});
$(document).ready(function() {
var min_chars_name = 4;
var characters_error_name = 'Please enter atleast 4 chars.';
$('#lname').keyup(function(){
if($('#lname').val().length < min_chars_name){
$('.lname_error').html(characters_error_name);
$('.lname_error').css('color', 'red');
$('#lname').css('color', 'red');
$('#lname').css('border', '1px solid red');
}else{
$('.lname_error').css('color', 'green');
$('#lname').css('color', 'green');
$('#lname').css('border', '1px solid green');
$('.lname_error').html('');
var lname_ok='1';
submit_check();
}
});
});
$(document).ready(function() {
$('#birthd').change(function(){
if($('#birthd').val() == '0'){
$('#birthd').css('color', 'red');
$('#birthd').css('border', '1px solid red');
}else{
$('#birthd').css('color', 'green');
$('#birthd').css('border', '1px solid green');
var birthd_ok='1';
submit_check();
}
});
});
$(document).ready(function() {
$('#birthm').change(function(){
if($('#birthm').val() == '0'){
$('#birthm').css('color', 'red');
$('#birthm').css('border', '1px solid red');
}else{
$('#birthm').css('color', 'green');
$('#birthm').css('border', '1px solid green');
if($('#birthd').val() == '0'){
$('#birthd').css('color', 'red');
$('#birthd').css('border', '1px solid red');
}else{
$('#birthd').css('color', 'green');
$('#birthd').css('border', '1px solid green');
var birthm_ok='1';
submit_check();
}
}
});
});
$(document).ready(function() {
$('#birthy').change(function(){
if($('#birthy').val() == '0'){
$('#birthy').css('color', 'red');
$('#birthy').css('border', '1px solid red');
}else{
$('#birthy').css('color', 'green');
$('#birthy').css('border', '1px solid green');
var birthy_ok='1';
submit_check();
if($('#birthd').val() == '0'){
$('#birthd').css('color', 'red');
$('#birthd').css('border', '1px solid red');
}else{
$('#birthd').css('color', 'green');
$('#birthd').css('border', '1px solid green');
var birthm_ok='1';
submit_check();
}
}
});
});
$(document).ready(function() {
$('#gender').blur(function(){
if($('#gender').val() == '-'){
$('#gender').css('color', 'red');
$('#gender').css('border', '1px solid red');
}else{
$('#gender').css('color', 'green');
$('#gender').css('border', '1px solid green');
var gender_ok='1';
submit_check();
}
});
$('#gender').change(function(){
if($('#gender').val() == '-'){
$('#gender').css('color', 'red');
$('#gender').css('border', '1px solid red');
}else{
$('#gender').css('color', 'green');
$('#gender').css('border', '1px solid green');
var gender_ok='1';
submit_check();
}
});
});
$(document).ready(function() {
var min_chars_name = 4;
var characters_error_name = 'Please enter atleast 4 chars.';
var match_error_name = 'Your passwords do not match.';
$('#pass').keyup(function(){
if($('#pass').val().length < min_chars_name){
$('.pass_error').html(characters_error_name);
$('.pass_error').css('color', 'red');
$('#pass').css('color', 'red');
$('#pass').css('border', '1px solid red');
}else{
$('.pass_error').css('color', 'green');
$('#pass').css('color', 'green');
$('#pass').css('border', '1px solid green');
$('.lname_error').html('');
$('#pass').keyup(function(){
if($('#pass2').val() !== $('#pass').val()){
$('.pass_error').html(match_error_name);
$('.pass_error').css('color', 'red');
$('#pass2').css('color', 'red');
$('#pass2').css('border', '1px solid red');
}else{
$('.pass_error').css('color', 'green');
$('#pass2').css('color', 'green');
$('#pass2').css('border', '1px solid green');
$('.pass_error').html('');
var gender_ok='1';
submit_check();
}
});
$('#pass2').keyup(function(){
if($('#pass2').val() !== $('#pass').val()){
$('.pass_error').html(match_error_name);
$('.pass_error').css('color', 'red');
$('#pass2').css('color', 'red');
$('#pass2').css('border', '1px solid red');
}else{
$('.pass_error').css('color', 'green');
$('#pass2').css('color', 'green');
$('#pass2').css('border', '1px solid green');
$('.pass_error').html('');
var gender_ok='1';
submit_check();
}
});
}
});
});
function submit_check(){
if(user_ok=='1' & gender_ok=='1' & birthm_ok=='1' & birthd_ok=='1' & birthy_ok=='1' & fname_ok=='1' & lname_ok=='1'){
document.write("hello");
};
};
这是因为您使用的这些变量在这些局部函数的局部作用域中。要解决这个问题,请将它们放在文档之外。准备功能:
var user_ok = 0;
var gender_ok = 0;
var birthm_ok = 0;
var birthd_ok = 0;
var birthy_ok = 0;
var fname_ok = 0;
var lname_ok = 0;
/*Now do your $(document).ready things*/
然后在你的函数内部,通过使用user_ok=1;
来改变它们。
此外,在submit_check函数的if语句中有一个错误。你需要使用&&而不是&.
function submit_check(){
if(user_ok=='1' && gender_ok=='1' && birthm_ok=='1' && birthd_ok=='1' && birthy_ok=='1' && fname_ok=='1' && lname_ok=='1'){
document.write("hello");
};
};
相关文章:
- 为什么jasmine期望不验证是否抛出了错误
- jQuery在输入下验证post错误消息
- JavaScript表单验证-“;“错误”;不按需要工作
- 当与Dojo验证一起使用时,Chrome 41密码保存会做出错误的选择
- jquery表单验证复选框错误显示
- 页面上的2个表单带有JS验证-其中一个抛出电子邮件验证错误
- 在页面对象文件中验证sendKeys结果会导致未定义的错误(Protractor)
- 表单值未在单击按钮时发布,显示验证错误
- 表单已发送,但验证有错误
- TinyMCE验证给出错误:无法调用方法'getContent'的未定义
- Javascript表单验证-jsFiddle错误
- 无法使用JavaScript打印带有for循环的验证错误
- 为什么我的 JavaScript 会导致 HTML 验证错误
- 错误验证在AngularJS中不起作用
- 在线错误验证
- 接收package.json的解析错误.验证为有效的json
- 错误验证 W3C HTML5 img noscript facebook.com.
- 使用jquery输入文件类型错误验证不工作
- 带有警报的表单错误验证
- Angularjs用ng-href对dropdown/select redirect进行错误验证