2013-07-16 3 views
1

Я устанавливаю placeholder с inputtext и они нормально работают в IE9+.textarea placeholder не работает в IE10

<textarea style="some-style" name="some-name" id="some-id" class="some-class" 
placeholder="awesome placeholder"></textarea> 

Это не работает. Я также попытался использовать plugin, но это ничего не меняет. Также пытались искать через более старые вопросы, но не нашли ничего

EDIT

Я заметил странное поведение: содержание textarea при загрузке является text из placeholder и поэтому не пусто, если Я удаляю его, тогда textarea пуст, и placeholder нормально работает

+0

Не так ли, как должны работать заполнители? –

+1

нет, потому что в первый раз это значение, а не местозаполнитель, я должен удалить его, выбрав его – steo

+0

Хорошо .. так что если вы набрали что-то внутри текстового поля, не могли бы вы ожидать, что местозаполнитель исчезнет? Все, что находится между ярлыком открытия/закрытия, - это содержимое текстового поля –

ответ

0

Убедитесь, что в текстовом поле нет ничего «внутри». Отсутствие разрыва между открывающимися и закрывающимися метками. Кроме того, я не думаю, что атрибут placeholder работает в IE9, но должен быть в IE10.

<textarea style="some-style" name="some-name" id="some-id" class="some-class" placeholder="awesome placeholder"></textarea> 
1

Вы можете задать текст для заполнителя в атрибуте заголовка и использовать эту функцию с библиотекой JQuery

$('textarea').focus(function() { 
     if(this.title==this.value) { 
     this.value = ''; 
     } 
    }).blur(function(){ 
    if(this.value=='') { 
     this.value = this.title; 
     } 
    }); 
0

Это то, что я использую для IE

var eMail = $('input').val(); 
$('input').click(function() { 
    $(this).val(''); 
}); 
$('input').focusout(function() { 

    if ($('input').val() != '') { 
     //.. 
    } else { 
     $(this).val(eMail); 
    } 
}); 

Вы можете также использовать его с textarea

0

Ну, я просто отправлю свой ответ, хотя эта ошибка устарела, потому что e ни один из других не был подходящим для меня, и ошибка все еще очень настойчива.

$('textarea').each(function() { 
    // Check to see if the placeholder value equals the actual value 
    if ($(this).attr('placeholder') == $(this).val()) { 
     // If so, empty the actual value 
     $(this).val(""); 
    } 
    }); 

В основном он проверяет, есть ли какой-либо элемент имеет текстовое поле значение, соответствующее ее заполнитель, и если это так опустошает значение. Это безопасное предположение, что на странице рендеринг элемент textarea должен иметь значение, равное его заполнителю, поэтому я считаю, что это твердое исправление.

Смежные вопросы