Tôi đã thử nghiệm với các nút radio. Mọi thứ có vẻ ổn cho đến khi tôi chạy nó qua JS lint. Tôi cố định tất cả các lỗi ngoại trừ một:JSlint: unexpected 'for'
bất ngờ 'cho'
for (i = 0; i < radios.length; i += 1) {
Đây là Javascript tôi:
/*global body,window,document,alert*/
(function() {
"use strict";
var UIlogic;
UIlogic = {
myLoad: function() {
var elems, elemText, btn1, winter, summer, fall, spring, header, btns;
winter = "<div><input type='radio' name='cb' id='cbA' value='0'/><label for='cbA'>Winter</label></div>";
summer = "<div><input type='radio' name='cb' id='cbB' value='1'/><label for='cbB'>Summer</label></div>";
fall = "<div><input type='radio' name='cb' id='cbC' value='2'/><label for='cbC'>Fall</label></div>";
spring = "<div><input type='radio' name='cb' id='cbD' value='3'/><label for='cbD'>Spring</label></div>";
header = "Header";
btns = "<br /><button class='btns' id='btn1'>Go!</button>";
elemText = "Menu/nav";
elems = "<center><div>" + header + "</div></center>";//title
elems += "<div>" + elemText + "</div></center>";//menu
elems += "<div id='container'><br />";//container opens
elems += "<div id='div1'>" + winter + "</div>";
elems += "<div id='div2'>" + summer + "</div>";
elems += "<div id='div2'>" + fall + "</div>";
elems += "<div id='div2'>" + spring + "</div>";
elems += "<div id='div3'>" + btns + "</div>";
elems += "</div>";//container closes
elems += "<h6><div id='footer'>Ehawk 2015</div></h6>";
body.innerHTML = elems;
btn1 = document.getElementById("btn1");
btn1.addEventListener('click', UIlogic.intoFunction, false);
},
intoFunction: function() {
var radios, found, i = 0;
radios = document.getElementsByName("cb");
found = 1;
for (i = 0; i < radios.length; i += 1) {//issue occurs here
if (radios[i].checked) {
alert(radios[i].value);
found = 0;
break;
}
}
if (found === 1) {
alert("Please Select Radio");
}
}
};
window.onload = function() {
UIlogic.myLoad();
};
}());
Am i chạy vòng lặp của tôi sai? tại sao JSlint lại thấy một vấn đề ở đây thậm chí nghĩ rằng mã hoạt động? Tôi thực sự có thể sử dụng một số thông tin chi tiết về vòng lặp, vì tôi có nhiều vấn đề nhất với họ. Tôi đã được yêu cầu không sử dụng chúng, nhưng tôi không thấy vấn đề với việc chạy một vòng lặp để phát hiện các nút radio và radio được kiểm tra. Đây có phải là điều tôi nên quan tâm không?
Bạn có thể kiểm tra Tolerate ... cho câu lệnh trong các tùy chọn để chặn cảnh báo này. –
[Đây là câu hỏi có liên quan, mặc dù được gắn thẻ java chứ không phải javascript] (http://stackoverflow.com/q/6850380/497418) – zzzzBov
Cũng được yêu cầu [tại đây] (http://stackoverflow.com/questions/30265001/what -does-jslint-mean-by-bất ngờ-biểu hiện-i-in-tuyên bố-vị trí), mặc dù tiêu đề có thể gây hiểu nhầm. – ruffin