您好我正在尝试创建一个错误数组,并立即显示它们。这样的事情。
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]
我做错了什么?
答案 0 :(得分:3)
所有这些行都包含语法错误:
var error[] = ...
因为error[]
不是valid JavaScript identifier.,请删除[]
。最接近的有效变量名称为error
,而不是error[]
。
答案 1 :(得分:3)
两个主要问题 - 错误数组被重复和错误地声明,并且生成的数组的显示被错误地处理。这是两个问题的解决方案......
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函数而不是添加/删除,但这取决于您
答案 2 :(得分:1)
您将JavaScript与PHP混淆。
这是声明数组的错误方法:
var error[] = 'Заполните Отчество';
<强>而强>
var error = new Array();
或
var error = [];
答案 3 :(得分:1)
使用javascript将值附加到数组中:
var error = [];
error.push('Error 1');
error.push('Error 2');
然后,要显示它们:
$('.errors').html(
error.join('<br/>') // "Error 1<br/>Error 2"
);
答案 4 :(得分:0)
您可以像这样显示所有错误消息
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;
}
错误是一个变量,我存储了所有错误并在屏幕上一次显示。