i>a
цикл просто не запустится, если в input что-то будет, потому что i не будет больше длины входной строки
var e = code.b.charAt(i);
сомнительная конструкция, код получает символ из объекта codes
ну и
return e;
оборвёт цикл на первой же итерации, если ты его всё таки запустишь.
примерно так должно работать:
var codes = {
"a": "00000001",
"b": "00000010",
"c": "00000100",
"d": "00001000",
"e": "00010000",
"f": "00100000",
"g": "01000000",
"h": "10000000",
"l": "10000001",
"j": "10000010",
"k": "10000100",
"l": "10001000",
"m": "10010000",
"n": "10100000",
"o": "11000000",
"p": "11000001",
"q": "11000010",
"r": "11000100",
"s": "11001000",
"t": "11010000",
"u": "11100000",
"v": "11100001",
"w": "11100010",
"x": "11100100",
"y": "11101000",
"z": "11110000"
};
var utf_den = {
vcode: function(id, code) {
var b = document.getElementById(id).value;
var c = "";
for (var i = 0; i < b.length; i++) {
var e = b.charAt(i);
c += code[e];
}
return c;
}
}
console.info(utf_den.vcode("textt", codes));