Показать сообщение отдельно
  #1 (permalink)  
Старый 20.04.2012, 19:04
Новичок на форуме
Отправить личное сообщение для StelZ Посмотреть профиль Найти все сообщения от StelZ
 
Регистрация: 19.04.2012
Сообщений: 8

ошибка в коде(квадрат Полибия)
не пойму, где ошибка. при вводе в первое окошко в соседнем должны отображаться числа для каждой буквы из массива(а=00, б=01 и т.д.)

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html; charset=Windows-1251" http-equiv="content-type">
<title>...</title>
</head>
<body>
<script language="JavaScript">
var kv = [
    ["А", "Б", "В", "Г", "Д", "Е"],
    ["Ё", "Ж", "З", "И", "Й", "К"],
    ["Л", "М", "Н", "О", "П", "Р"],
    ["С", "Т", "У", "Ф", "Х", "Ц"],
    ["Ч", "Ш", "Щ", "Ъ", "Ы", "Ь"],
    ["Э", "Ю", "Я", ",", ".", "-"]
    ];

function pol_encode(str) {
    var idx;
    var res = "";
    str = str.toUpperCase();
    for (var j = 0; j < str.length; j++) {
        for (var i = 0; i < kv.length; i++) {
            idx = kv[i].indexOf(str.charAt(j));
            if (idx >= 0) {
                res += " " + i + "" + idx;
                break;
            }
        }
    }
    return $.trim(res);
}

function  pol_decode (str) {
    var row, col;
    var res = "";
    var ar = str.split(" ");
    for (var j = 0; j < ar.length; j++) {
        if (ar[j].length == 2) {
            row = parseInt(ar[j].charAt(0));
            col = parseInt(ar[j].charAt(1));
            res += kv[row][col];
        }
    }
    return res;
}
$("#str").keyup(function() {
    $("#resstr").val( pol_encode ($("#str").val()));
});

$("#resstr").keyup(function() {
    $("#str").val(  pol_decode ($("#resstr").val()));
});

 $("#resstr").val( pol_encode ($("#str").val()));
</script>
<input type="text" id="str" value="текст"/>
<input type="text" id="resstr"/>
</body>
</html>

Последний раз редактировалось Octane, 20.04.2012 в 20:48. Причина: http://javascript.ru/formatting
Ответить с цитированием