Вопрос по транслиту JavaScript Помогите пожалуйста!!!

Тема в разделе "Другие языки", создана пользователем gerd, 8 май 2009.

Статус темы:
Закрыта.
Модераторы: Цукер
  1. gerd

    gerd Читатель

    Заблокирован
    Регистр.:
    10 фев 2007
    Сообщения:
    74
    Симпатии:
    4
    Всем привет,

    Где я ошибся? Почему не работает конвертация в оба направления? Помогите пожалуйста!!!


    Код:
    
    <script>
    var rusChars = new Array("A","a","B","b");
    var transChars = new Array("А","а","Б","б");
    var from = "";
    
    function convert2CY()
      {
      from = document.getElementById("Message").value;
      var to = "";
      var len = from.length;
      var character, isRus;
      for(var i=0; i < len; i++)
        {
        character = from.charAt(i,1);
        isRus = false;
        for(var j=0; j < rusChars.length; j++)
          {
          if(character == rusChars[j])
            {
            isRus = true;
            break;
            }
          }
        to += (isRus) ? transChars[j] : character;
        }
       document.form1.Message.value = to; 
      }
      
    
    
    function convert2LA()
      {
      from = document.getElementById("Message").value;
      var to = "";
      var len = from.length;
      var character, isRus;
      for(var i=0; i < len; i++)
        {
        character = from.charAt(i,1);
        isRus = false;
        for(var j=0; j > rusChars.length; j++)
          {
          if(character == rusChars[j])
            {
            isRus = true;
            break;
            }
          }
        to += (isRus) ? transChars[j] : character;
        }
       document.form1.Message.value = to; 
      }
      
    </script>
    
    
    
    <FORM NAME="form1">
    <textarea name="Message" id="Message" cols="100" rows="30" class="text"></textarea><br> 
    <input type="button" value="Cyrilic" onclick="convert2CY()">
    <input type="button" value="Latin" onclick="convert2LA()">
    </FORM>
    
    
    
     
  2. lorien

    lorien Постоялец

    Регистр.:
    2 авг 2006
    Сообщения:
    84
    Симпатии:
    11
    Какой-то жутко глючный код :)

    Чтобы заработала функция convert2LA нужно
    1) Тут for(var j=0; j > rusChars.length; j++) заменить знак больше на знак меньше
    2) Поменять значения у переменных rusChars и transChars в начале кода

    Функцию convert2CY моно сделать по аналогии, когда заработает convert2LA И ещё желательно прописать <meta http-equiv="Content-Type" content="text/html; charset=нужная кодировка" /> иначе кодировка может глючно определяться браузером.
     
Статус темы:
Закрыта.