2012-05-19 22 views
19

Se supone que iPad safari es compatible con html5, pero parece que el elemento requerido no funciona. ¿Alguien sabe por qué, o tiene una solución decente que no requiere una tonelada de JavaScript?El elemento de formulario Html5 "requerido" en el iPad/iPhone no funciona

Mi código

<input type=email class=input placeholder="Email" name="email" required> 
+0

¿Puedes probar '' o ' '. – Chris

+0

¿Intentó con 'required />' en lugar de 'required>'? – Hidde

Respuesta

24

No es compatible con iOS aún: when can I use: required.

+15

vergüenza en la manzana. – Sombriks

+9

¡Qué vergüenza en Apple x1000! Han pasado 3 años, 6 meses y 4 días (a partir de esta publicación) ya que esto fue solicitado y Apple todavía no lo ha implementado. La arrogancia es increíble. Applesoft 2.0 ... – Gup3rSuR4c

+7

Febrero de 2016, Apple todavía apesta. –

1

Si ya está utilizando jQuery, Modernizr y yepnope, esta es una forma de solucionarlo. Si no lo eres, esto agregará una gran cantidad de javascript adicional.

My solution

16

Ésta es una solución a la cuestión de jQuery, que pone de relieve los campos de entrada que han fracasado en un color rosado también.

$('form').submit(function(){ 
    var required = $('[required="true"]'); // change to [required] if not using true option as part of the attribute as it is not really needed. 
    var error = false; 

    for(var i = 0; i <= (required.length - 1);i++) 
    { 
     if(required[i].value == '') // tests that each required value does not equal blank, you could put in more stringent checks here if you wish. 
     { 
      required[i].style.backgroundColor = 'rgb(255,155,155)'; 
      error = true; // if any inputs fail validation then the error variable will be set to true;  
     } 
    } 

    if(error) // if error is true; 
    { 
     return false; // stop the form from being submitted. 
    } 
}); 
+0

Tu solución es genial Personalicé para validar el formulario actual solamente, si tienes más de un formulario en la página, modificando la segunda línea de la siguiente manera: 'code'var required = $ ('[required =" true "]', this);' code' – phpawy

1

Creo que se puede hacer algo antes de que la acción de envío como esto

<form name="myForm" action="valid.html" onsubmit="checkValid()" method="post"> 
    ... ... 
</form> 

después de pulsar el botón submit, checkValid() es evocado antes de que realmente se somete. un valor de retorno de true continuará la acción de envío.

refieren a this post para una explicación más detallada. :)

1

Desde IOS 10.3 se apoyaron esta Atrributes. También el tipo de correo electrónico requiere escribir el símbolo @ y así sucesivamente ...

Cuestiones relacionadas