2010-03-14 4 views
1

Мое текстовое поле ведет себя очень странно, когда я нажимаю на него. Курсор появляется там, когда я нажимаю, если я нажимаю на середину текстового поля, он появляется там, и я бы хотел, чтобы он появился в начале, где бы я ни находился, как здесь, на SO при задании вопроса, где бы вы ни находились внутри textarea, он берет ваш курсор в самый верхний левый. Что я могу сделать, чтобы исправить это?Проблемы с фокусом textarea

EDIT:

Причина, почему я хочу исправить это, потому что я получаю лишние пробелы в базе данных.

Вот код:

<textarea class="passage" name="texti" rows="5" cols="10"> 
       </textarea> 

CSS:

.passage { 
     color: #333; 
     font-size: 12px; 
     height: 80px; 
     width: 279px; 
    } 
+0

В каком браузере это включен? Можете ли вы показать код? –

+0

@Pekka привет, я обновил свой вопрос, я ничего не вижу, почему он добавляет пустое место при загрузке страницы, есть ли значение (val()) или text(), чтобы установить его в "" пустую строку. – ant

ответ

8

Это ведет себя так, потому что там is пространство между вашими тегами. Если вы не хотите, пространство там изначально, это сделать:

<textarea class="passage" name="texti" rows="5" cols="10"></textarea> 

Все, что между тегами в <textarea>, это исходное содержание.

+0

@ Ник, +1. Я уверен, что это правильный ответ. @ c0mrade попробуйте это, и вы решите проблему. –

1

Единственное объяснение, которое я есть за поведение вы описываете это много белых пространств в текстовое поле. В пустой текстовой области курсор всегда должен автоматически переходить влево.

-1

У меня был этот isuue один раз, и это было из-за неправильной функции javascript, которую я никогда не использовал в своем приложении.

  1. попытайтесь переименовать текстовое поле.
  2. Если проблема все еще остается, попробуйте найти методы или функции, которые могут обновлять текстовое поле с пробелом.
  3. если вы не смогли найти метод, написать строки ofcode на OnTextChanged событие

    protected void TextArea1_OnTextChanged(object sender, eventArgs e) 
    { 
        TextArea1.Text = TextArea1.Text.trim(); 
        //or TextArea1.Text = string.empty; 
    } 
    
1

Если нет действительно никакого способа, вы можете это исправить, так что разметка дает вам действительно пустое текстовое поле , вы можете использовать некоторый javascript, чтобы установить положение курсора onclick:

function cursorTo00(area) { 
    if (area.innerHTML.match(/^\s+$/)) { 
    area.selectionStart = area.selectionEnd = 0; 
    } 
} 
Смежные вопросы