2010-10-23 3 views
41

Какие браузеры поддерживают тег html placeholder для ввода текста? Поддерживает ли Internet Explorer его? (У меня есть заполнитель JavaScript, который можно использовать для браузеров, которые не поддерживают его.)HTML-совместимость браузера для заметок

<input type=TEXT placeholder="placeholder here" />

+15

Ярмарка вопрос! Я предполагаю, что IE не поддерживает его вообще, это атрибут HTML 5. Но я слишком ленив, чтобы исследовать его. :) –

+4

@Pekka лучший. комментарий. Когда-либо. – Yatrix

ответ

17

В настоящее время поддерживается всеми основными браузерами кроме IE 9 и более ранних версий и Opera Mini.

Для уточнений посмотрите на w3schools-specs Или еще лучше, посмотрите на это overview.

+0

alrighty thanks man –

+8

Начиная с версии 3.7 Firefox также поддерживает это. Opera от версии 11 и Iphone от версии 4.0. Просто так вы знаете. – Tim

+2

IE все еще нет. – Tim

10

Firefox также поддерживает его, так как 4,0

17

По this, IE 10 поддерживает его. (Вы можете test it here)

исправить проблему таким -Наверное самый easiest- путь:

<!--[if lt IE 10]>email:<![endif]--> 
<input placeholder='email' type='text' name='email'> 
+1

IE 10 поддерживает его. Просто протестировано. – geilt

+0

Мне нравится это решение - нет JS, о котором нужно беспокоиться. – Andrew

+0

Определенно простое решение здесь –

6

Вопрос, возможно, был дан ответ несколько лет назад, но я нашел его сегодня делает поиск.

Так как хорошая ссылка и фото не были представлены раньше, я обновляю этот вопрос на обоих.

HTML5 placeholder Attribute в основном говорит:

Атрибут заполнителем поддерживается во всех основных браузерах, кроме Internet Explorer.

FYI: Включает IE9.

screenshot

+3

Возможно, что это w3schools, у него есть некорректная информация. Тем не менее, в этом случае у него есть именно то, что я хочу, поэтому повысьте! – Jamie

7

IE не поддерживает заполнители

Я чувствую этот код лучше, и она работает во всех основных браузерах

<input id="example-email" type="text" value="Email Address" onfocus="if(this.value === 'Email Address') this.value = '';" onblur="if(this.value === '') this.value = 'Email Address';" name="example-email"> 
+8

Я не думаю, что ваш код лучше. Это старый способ. Я знаю, что это работает. Но на самом деле нам не нужен этот javascript для большинства браузеров. Поэтому мы должны использовать атрибут placeholder. И если мы cannnot или не хотим забывать IE, мы должны предоставить явное решение только для IE. – Martin

18

Для тех, кто заинтересован, это JQuery Запасной, что я использую
Я использую его с jQuery Validation Engine.
Заменить FORMCLASS классом вашей формы.

<!-- IF IE - use Placeholder Fallback --> 
<!--[if lt IE 10 ]> 
<script> 
    $(".FORMCLASS").find('[placeholder]').each(function(){ 
    $(this).val($(this).attr('placeholder')); 
    $(this).focus(function() { 
     if ($(this).attr('placeholder')==$(this).val()) { 
     $(this).val(''); 
     } 
    }); 
    }); 
</script> 
<![endif]--> 
+1

лучшее решение в это время. Спасибо! – 5ulo

+0

в качестве альтернативы [если IE 10 л] в HTML что-то вроде jQuery.support.placeholder = (функция() { вар я = document.createElement ('вход'); возврата 'заполнитель' в I; })(); можно использовать. Взято из [link] (http://stackoverflow.com/questions/3937818/how-to-test-if-the-browser-supports-the-native-placeholder-attribute) – Nightingale7

+2

Существует проблема, если пользователь каким-то образом пропускает фокус, например просто щелкает «отправить», затем заполнитель передается как значение поля. – Nightingale7

3

Для тех, кто хочет найти самое простое решение, использовать встроенные функции!

<input type="text" name="email" value="Email Address" placeholder="Email Address" onfocus="if(this.value==this.placeholder) this.value=''" onblur="if(this.value=='') this.value=this.placeholder"> 

Испытано в хром и IE8 :)

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

0

Я знаю, что это старый вопрос. Мое предложение - использовать Modernizr для обнаружения поддержки заполнителя! https://modernizr.com/

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