eval() に関して問題があります。オブジェクト javascript を使用してユーザーが送信したデータを検証しています。
例えば
for(var i=0;i<count;i++){
switch(caseType){
case: 'Group':
### it will execute the ff code
### it will call MustChecked function
if(!eval(this.MustChecked(getAttribute('class'), getAttribute('min'), getAttribute('max')))) {
####this will alert all the errors..
this.AddError(i, getAttribute("msg"));
}
}
}
このコードから、それはすべてのエラーを警告します...
更新: MUSTCHECKED 関数
MustChecked : function(name, min, max) { var groups = document.getElementsByClassName(name); alert(groups); //console.log(name + ":" + groups.length); var hasChecked = 0; min = min || 1; max = max || groups.length; for(var i=groups.length-1;i>=0;i--) if(groups[i].checked) hasChecked++; return min <= hasChecked && hasChecked <= max; },
アップデート V1.1
私はこのようにしてみました
getElementsByClassName : function (className) {
if (document.getElementsByClassName) {
return document.getElementsByClassName(className);
}
else {
return document.querySelectorAll('.' + className);
}
},
これはIE8では機能しますが、IE7では機能しません...運がいいですか?