2010-10-23 38 views
41

¿Qué navegadores admiten la etiqueta html de marcador de posición para las entradas de texto? ¿Internet Explorer lo admite? (Tengo un marcador de posición JavaScript que puedo usar para los navegadores que no soportan.)HTML Compatibilidad con el navegador del marcador de posición

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

+15

Pregunta razonable! Supongo que IE no lo admite en absoluto, ya que es un atributo de HTML 5. Pero soy demasiado flojo para investigarlo también. :) –

+4

@Pekka mejor. comentario. nunca. – Yatrix

Respuesta

17

Es apoyado actualmente por todos los navegadores excepto IE 9 y anteriores y Opera Mini.

Para actualizaciones, mira w3schools-specs O mejor aún, mira esto overview.

+0

alrighty thanks man –

+8

A partir de la versión 3.7, Firefox también lo permite. Opera desde la versión 11 y Iphone desde la versión 4.0. Solo para que sepas. – Tim

+2

IE todavía no lo hace. – Tim

10

Firefox también soporta desde 4.0

17

Según this, IE 10 lo admite. (Puede test it here)

puedo solucionar el problema de esta -probablemente la forma más easiest-:

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

IE 10 lo admite. Apenas probado. – geilt

+0

Me gusta esta solución, no hay JS de qué preocuparse. – Andrew

+0

Definitivamente la solución más fácil aquí –

6

pregunta puede haber sido contestada hace unos años, pero lo encontré hoy haciendo una búsqueda.

Dado que una buena referencia y fotos no se proporcionaron antes, estoy actualizando esta pregunta con ambos.

HTML5 placeholder Attribute básicamente dice:

El atributo marcador de posición es compatible con todos los principales navegadores, excepto Internet Explorer.

FYI: Esto incluye IE9. marcadores de posición

screenshot

+3

Posiblemente como es w3schools, tiene cierta información incorrecta. Dicho esto, en este caso tiene exactamente lo que quiero, ¡así que vota! – Jamie

7

IE no está apoyando

me siento este código mejor y funciona en todos los navegadores

<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

No creo que tu código sea mejor. Esa es la vieja manera. Sé que funciona Pero en realidad no necesitamos este javascript para la mayoría de los navegadores. Entonces deberíamos usar el atributo marcador de posición. Y si no podemos o no queremos olvidar el IE, entonces tenemos que proporcionar una solución explícita para IE solamente. – Martin

18

Para todos los interesados, este es el jQuery repliegue que utilizo
Lo uso con jQuery Validation Engine.
Reemplace FORMCLASS con la clase de su formulario.

<!-- 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

mejor solución en este momento. ¡Gracias! – 5ulo

+0

como alternativa a [si lt IE 10] en HTML algo como jQuery.support.placeholder = (function() { var i = document.createElement ('entrada'); retorno 'marcador de posición' en i; })(); puede ser utilizado. Tomado de [link] (http://stackoverflow.com/questions/3937818/how-to-test-if-the-browser-supports-the-native-placeholder-attribute) – Nightingale7

+2

Existe un problema si el usuario de alguna manera se salta el enfoque, por ejemplo simplemente hace clic en "enviar", luego el marcador de posición se pasa como valor de campo. – Nightingale7

3

Para aquellos que quieren la solución más sencilla, utilice las funciones integradas!

<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"> 

Probado en cromo y IE8 :)

Nota: Yo uso esto con más javascript para validar la entrada y dar retroalimentación dentro del campo mismo cambiando el valor y el marcador de posición en tiempo de ejecución.

Cuestiones relacionadas