JavaScript forEach循环适用于所有webbrowser但Internet Explorer

1 javascript foreach internet-explorer

我设法让所有浏览器的循环工作除了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()
}
Run Code Online (Sandbox Code Playgroud)

该数组在PHP文件中设置而不是传入.它使用以下方式设置:

<script type="text/javascript">
    var arr = <?php echo json_encode($arr) ?>;
</script>
Run Code Online (Sandbox Code Playgroud)

Vis*_*ioN 5

只需在脚本开头放置来自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);
    }
  }
}
Run Code Online (Sandbox Code Playgroud)