Javascript string undefined

Tenho um código como este:

<html>
<head>
    <script language="javascript">
        window.onload = function() {
            for(i = 0; i < 26; i++) {
                var x = document.createElement("INPUT");
                x.setAttribute("type", "button");
                x.setAttribute("value", String.fromCharCode(i + 65));
                x.setAttribute("id", String.fromCharCode(i + 65));
                x.setAttribute("onclick", "isTOF(self.id)");
                document.body.appendChild(x);
            }
        }

        function isTOF(v) {
            alert(v);
        }
    </script>
</head>
<body>
</body>
</html>

ueria alertar seu próprio alfabeto (valor), mas não funcion

or exemplo, quando clico no botão A, o programa deve alertar 'A'

Mas alerta 'indefinido'.

Não sei qual é o problema.

Eu quero que meu código funcione corretament

Como posso fazer isso?

questionAnswers(3)

yourAnswerToTheQuestion