Справа налево Текстовый ввод HTML

Для моего веб-сайта мне нужно предоставить арабскую поддержку. Часть его состоит в том, чтобы предоставить входные текстовые поля, где, когда пользователь вводит данные, новые символы должны быть добавлены слева, а текст должен быть выровнен по правому краю.

настройка свойства css на

text-align:right

не работал, так как я не мог заставить курсор идти влево и добавлять туда буквы. Поэтому я удалил это свойство и добавил

direction:RTL

Здесь курсор появился влево, а текст был выровнен по правому краю. но новые символы не добавляются слева. Вместо этого они добавляются только в правый конец.

Как это исправить? пожалуйста, помогите..

Например, см. окно поиска страницы арабской страницы google. Мне нужно точное поведение, хотя и не с этими причудливыми значками клавиатуры и т.д., http://www.google.com/webhp?hl=ar

Ответ 1

Вот о чем я могу думать:

  • Используйте direction:RTL для выравнивания RIGHT
  • Напишите обработчик JavaScript, прикрепленный к событию: "onkeyup", который выполняет перенос введенного символа в LEFT (выполняет некоторую текстовую обработку).

Ответ 2

Вы можете использовать dir = "rtl" на входе. Он поддерживается.

<input dir="rtl" id="foo"/>

Ответ 3

function rtl(element)
{   
    if(element.setSelectionRange){
        element.setSelectionRange(0,0);
    }
}




<input type="text" name="textbox" style="direction:RTL;" onkeyup="rtl(this);"/>

Этот код будет делать.

Ответ 4

Используйте только direction:RTL и при переключении на правильную клавиатуру (например, арабский) в системных настройках вновь добавленные символы будут правильно добавлены влево.

Ответ 5

Использовать на входе в css.

input {
  unicode-bidi:bidi-override;
  direction: RTL;
}