除了Internet Explorer之外,我设法让所有浏览器都能运行循环(似乎不支持每个浏览器)。
JavaScript cpde:
function validate() {
var msg = '';
var i = 0;
arr.forEach(
function validateinfo(){
if (getRBtnName('yesNo_' + i + '_0' == "" && 'yesNo_' + i + '_0') == "") {
msg = 'Please select yes/no for all users'
}
if (msg == '') {
return true;
}
is++;
}
)
if (msg == '') {
reloadpage();
}
if (msg != '') {
alert(msg);
return false;
}
}
function reloadpage(){
window.location.reload()
}
数组正在PHP文件中设置而不是传入。它使用以下命令设置:
<script type="text/javascript">
var arr = <?php echo json_encode($arr) ?>;
</script>
答案 0 :(得分:5)
只需将此shim from MDN放在脚本的开头:
if ( !Array.prototype.forEach ) {
Array.prototype.forEach = function(fn, scope) {
for(var i = 0, len = this.length; i < len; ++i) {
fn.call(scope, this[i], i, this);
}
}
}