JavaScript数组-意外的令牌
JavaScript array - unexpected token
你好,我正在尝试创建一个错误数组,并立即显示它们。像这样的东西。
if (!first_name) {
var error[] = "Заполните Фамилию";
$('#first_name').addClass('error');
} else {
$('#first_name').removeClass('error');
}
if (!second_name) {
var error[] = 'Заполните Имя';
$('#second_name').addClass('error');
} else {
$('#second_name').removeClass('error');
}
if (!last_name) {
var error[] = 'Заполните Отчество';
$('#last_name').addClass('error');
} else {
$('#last_name').removeClass('error');
}
if (!course) {
var error[] = 'Заполните Курс';
$('#course').addClass('error');
} else {
$('#course').removeClass('error');
}
if (!math && !programming && !english && !history) {
var error[] = 'Заполните хотябы один предмет';
$('#math,#programming,#english,#history').addClass('error');
} else {
$('#math,#programming,#english,#history').removeClass('error');
}
然后
if(error.length > 0) {
$(".errors").html(error);
}
但我得到了一个错误Uncaught SyntaxError:Unexpected token]
我做错了什么?
两个主要问题-错误数组被重复错误地声明,以及结果数组的显示被错误地处理。以下是解决这两个问题的方法。。。。
var error = []; // initialise empty array
if (!first_name) {
error.push( "Заполните Фамилию");
$('#first_name').addClass('error');
} else {
$('#first_name').removeClass('error');
}
if (!second_name) {
error.push( 'Заполните Имя');
$('#second_name').addClass('error');
} else {
$('#second_name').removeClass('error');
}
if (!last_name) {
error.push('Заполните Отчество');
$('#last_name').addClass('error');
} else {
$('#last_name').removeClass('error');
}
if (!course) {
error.push( 'Заполните Курс');
$('#course').addClass('error');
} else {
$('#course').removeClass('error');
}
if (!math && !programming && !english && !history) {
error.push( 'Заполните хотябы один предмет');
$('#math,#programming,#english,#history').addClass('error');
} else {
$('#math,#programming,#english,#history').removeClass('error');
}
// you will need to join the elements together somehow before displaying them
if (error.length > 0) {
var data = error.join( '<br />');
$(".errors").html(data);
}
您可能还想考虑使用toggleClass函数而不是添加/删除,但这取决于
所有这些行都包含语法错误:
var error[] = ...
因为CCD_ 1不是有效的JavaScript标识符。删除[]
s。最接近的有效变量名应该是error
,而不是error[]
。
当您通过JavaScript linter工具运行代码时,这种错误会非常明显。
您混淆了JavaScript和PHP。
这是不正确的数组声明方式:
var error[] = 'Заполните Отчество';
相反:
var error = new Array();
或
var error = [];
使用javascript:将值附加到数组中
var error = [];
error.push('Error 1');
error.push('Error 2');
然后,显示它们:
$('.errors').html(
error.join('<br/>') // "Error 1<br/>Error 2"
);
医生:推,加入。
您可以像一样一次显示所有错误消息
var error=''
if (!first_name) {
error += "Заполните Фамилию.<br />";
$('#first_name').addClass('error');
} else {
$('#first_name').removeClass('error');
}
if (!second_name) {
error += 'Заполните Имя<br />';
$('#second_name').addClass('error');
} else {
$('#second_name').removeClass('error');
}
if (!last_name) {
error += 'Заполните Отчество<br />';
$('#last_name').addClass('error');
} else {
$('#last_name').removeClass('error');
}
if (!course) {
error += 'Заполните Курс<br />';
$('#course').addClass('error');
} else {
$('#course').removeClass('error');
}
if (!math && !programming && !english && !history) {
error +='Заполните хотябы один предмет<br />';
$('#math,#programming,#english,#history').addClass('error');
} else {
$('#math,#programming,#english,#history').removeClass('error');
}
if (error != '') {
$(".errors").html(error);
return false;
}
error是一个变量,我将所有错误存储在其中,并立即显示在屏幕上。
相关文章:
- React JS:未捕获(在承诺中)语法错误:在位置 0 的 JSON 中意外<令牌
- 未捕获的语法错误:意外的令牌,
- jQuery$.getJSON抛出意外令牌
- 当其他解析器认为意外的令牌有效时,json.parse会失败
- 意外的令牌模块生成失败:SyntaxError
- 为什么我在下面的..of循环中得到意外令牌
- 意外的令牌非法javascript/metrol
- 三元条件中出现意外的令牌中断
- DynamoDB和Node Js:意外的令牌h
- RegEx中出现意外的令牌错误
- data.php:1未捕获的语法错误:意外的令牌:
- 错误:[$parse:syntax]语法错误:令牌''是意外的令牌
- 组件中的ReactJS意外令牌
- Jquery脚本未在运行时加载编辑:意外的令牌
- 未捕获的语法错误:意外的令牌非法?看起来不错
- "未捕获的SyntaxError:意外的令牌ILLEGAL“;当我通过AJAX发送html时
- 获取意外的令牌ILLEGAL JS错误
- JavaScript-Gulp/Browserify:SyntaxError:意外的令牌
- Jquery .ajax() SyntaxError: 意外的令牌 N.
- AngularJS $http GET 请求到本地 JSON 文件返回语法错误:意外令牌]