В моей JavaScript-программе я получаю значения из формы через ее элементы, а затем распечатываю их по порядку в виде предупреждения.Это отлично работает в Firefox, но в Chrome порядок дурацкий и заканчивается кнопкой «Отправить».
Я попытался избавиться от набора полей и настроить числа, и это сработало, но мне понравилось fieldset!Кроме того, я не могу просто создать массив и выполнить итерацию по нему, потому что поля настроены на порядок табуляции, и я хочу распечатать их соответственно.Любые предложения?
После попытки проверки я обнаружил, что мне действительно нужен набор полей для XHTML Strict.Я храню элементы в массиве, например так:
var $ = function (id) { return document.getElementById(id); }
function check() {
var x = $("myForm");
var user = new Array();
user[0] = x.elements[0].value;
user[1] = x.elements[2].value;
user[2] = x.elements[4].value;
user[3] = x.elements[1].value;
user[4] = x.elements[3].value;
user[5] = x.elements[5].value;
И затем проверяю их, используя другую пару массивов, и отображаю результаты во всплывающем окне:
var answers = new Array();
answers[0] = "sample1";
answers[1] = "sample2";
answers[2] = "sample3";
answers[3] = "sample4";
answers[4] = "sample5";
answers[5] = "sample6";
var display = new Array();
for (var i=0;i<6;i++) {
if (user[i] == "") {
display[i] = "You entered nothing.";
}
else if (user[i] == answers[i]) {
display[i] = "Correct!";
}
else {
display[i] = "Wrong. The correct answer is \"" + answers[i] + "\".";
}
}
alert(display[0] + "\n" + display[1] + "\n" + display[2] + "\n" + display[3] + "\n" + display[4] + "\n" + display[5]);
}