Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: для новичков > Автоматичекий перевод символов из en в ру


Автор: champion 23.3.2010, 14:30
Поставили задачу, чтобы если юзер вводит в форму текст на английском языке, чтобы тут же буквы переводились на русский, как это проще реализовать? 

Автор: Mavrun 23.3.2010, 14:45
глянь исходник кода http://fliptitle.com/
в принципе по аналогии всё делается, только обратный порядок не нужен=)

Автор: champion 23.3.2010, 19:36
Благодарю!

Вот что получилось

Код

function flip() {
    var result = flipString(document.f.original.value.toLowerCase());
    document.f.original.value = result;
}

function flipString(aString) {
    var last = aString.length - 1;
    var result = new Array(aString.length)
    for (var i = 0; i <=last; i++) {
        var c = aString.charAt(i)
        var r = flipTable[c]
        result[i] = r != undefined ? r : c
    }
    return result.join('')
}

var flipTable = {
    '`': 'ё',    q : 'й',    w : 'ц',    e : 'у',    r : 'к',    t : 'е',    y : 'н',    u : 'г',    i : 'ш',    o : 'щ',    p : 'з',
    '[': 'х',    ']': 'ъ',        l : 'д',    k : 'л',    j : 'о',    h : 'р',    g : 'п',    f : 'а',    d : 'в',    s : 'ы',    a : 'ф',
    z : 'я',    x : 'ч',    c : 'с',    v : 'м',    b : 'и',    n : 'т',    m : 'ь',    ',' : 'ь',        '.' : 'б'
}


Ну и html

Код

<form name="f">
   <div class="col3"><textarea class="textBox" id="original"  name="original" onKeyUp="flip()">barack obama !</textarea></div>
</form>


Автор: Mavrun 23.3.2010, 19:38
всегда пожалуйста=)

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)