Salve a tutti ho una pagina in cui la griglia del tris viene generata tramite un cliclo for con "document.write" e quello che vorrei fare è sostituire il document.write con l'operatore "+=" ma visualizzo l'errore "document.forms[0].elements[i].value is not defined". Allego i codici della pagina:
codice:
for (i = 1; i < 10; i++) {
                            if (i % 3 == 1) {
                                document.write('<tr>');
                            }
                            document.write('<td><Input Type="Button" Name="' + i + '" Value="    " Class="block" onClick="change(this.form,this)"></td>');
                            if (i % 3 == 0) {
                                document.write('</tr>');
                            }
                        }
codice:
timerID = xnum = ynum = znum = auto = 0;
            who = 'Giocatore 1';

            function init() {
                cell = new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
                add = new Array();
                empty = add;
                turnstep = exch = 1;
                wins = times = 0;
                document.forms[0].player1.value = xnum;
                document.forms[0].player2.value = ynum;
                document.forms[0].draw.value = znum;
                if (who != 'Start' || true) {
                    for (i = 0; i < cell.length; i++) {
                        cell[i] = 0;
                        if (i > 0) {
                            document.forms[0].elements[i].value = '';
                        };
                    }
                }
                document.forms[0].turn.value = who;
            }

            function win() {
                if (cell[1] + cell[2] + cell[3] == 3 ||
                    cell[4] + cell[5] + cell[6] == 3 ||
                    cell[7] + cell[8] + cell[9] == 3 ||
                    cell[1] + cell[4] + cell[7] == 3 ||
                    cell[2] + cell[5] + cell[8] == 3 ||
                    cell[3] + cell[6] + cell[9] == 3 ||
                    cell[1] + cell[5] + cell[9] == 3 ||
                    cell[3] + cell[5] + cell[7] == 3) {

                    if (confirm("Giocatore 1\: hai vinto!\nVuoi giocare di nuovo?")) {
                        wins = 1;
                        xnum++;
                        who = 'Giocatore 1';
                        timerID = init();
                    } else {
                        xnum++;
                        who = 'Start';
                        timerID = init();
                    };
                } else if (cell[1] + cell[2] + cell[3] == 30 ||
                    cell[4] + cell[5] + cell[6] == 30 ||
                    cell[7] + cell[8] + cell[9] == 30 ||
                    cell[1] + cell[4] + cell[7] == 30 ||
                    cell[2] + cell[5] + cell[8] == 30 ||
                    cell[3] + cell[6] + cell[9] == 30 ||
                    cell[1] + cell[5] + cell[9] == 30 ||
                    cell[3] + cell[5] + cell[7] == 30) {
                    if (confirm("Giocatore 2\: hai vinto!\nVuoi giocare di nuovo?")) {
                        ynum++;
                        who = 'Giocatore 1';
                        timerID = init();
                    } else {
                        ynum++;
                        who = 'Start';
                        timerID = init();
                    };
                } else if (times == 9) {
                    if (confirm("Pareggio!\n\nVuoi giocare di nuovo?")) {
                        znum++;
                        who = 'Giocatore 1';
                        timerID = init();
                    } else {
                        znum++;
                        who = 'Start';
                        timerID = init();
                    };
                }
            }

            function exchange(turnstep) {
                if (exch == 1) {
                    if (turnstep == 0) {
                        turnstep = 1;
                        who = "Giocatore " + 1
                    } else {
                        if (auto == 0) {
                            turnstep = 0;
                            who = "Giocatore " + 2
                        } else {
                            turnstep = 0;
                            who = "Computer";
                        }
                    }


                } else {
                    turnstep = turnstep;
                }
                exch = 1;
                return (turnstep);
            }

            function changeing(click) {

                place = cell[click];
                clicked = click;

                if (place == 0) {
                    if (turnstep == 0) {
                        xo = "O";
                        place = 10;
                    } else {
                        xo = "X";
                        place = 1;
                    }
                    cell[click] = place;
                    times++;
                } else {
                    if (place == 10) {
                        xo = "O";
                    }
                    if (place == 1) {
                        xo = "X";
                    }
                    exch = 0
                }
                return (xo);
            }

            function change(form, element) {
                changeing(element.name);
                element.value = xo;
                turnstep = exchange(turnstep);
                form.turn.value = who;
                win();
            }

            init();
Grazie per la disponibiltà, ho provato a modificare il ciclo for con il metodo dell'operatore "+=" ma visualizzo l'errore che ho descritto sopra.