Domanda

IPad Safari dovrebbe essere conforme a HTML5, ma sembra che l'elemento richiesto non funzioni.Qualcuno sa perché, o avere una soluzione alternativa decente che non richiede una tonnellata di JavaScript?

Il mio codice

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

È stato utile?

Soluzione

Non è ancora supportato in iOS: quando posso usare: richiesto .

Altri suggerimenti

Questa è una soluzione jquery per il problema, evidenzia i campi di input che sono riusciti anche in un colore rosato.

$('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.
    }
});
.

Dal momento che iOS 10.3 questi attributi sono supportati.Anche il tipo di e-mail richiede di scrivere il simbolo @ e così via ...

Se stai già utilizzando JQuery, ModernizR e Yepnope, questo è un modo per affrontarlo.Se non sei allora aggiungere un sacco di JavaScript extra.

La mia soluzione

Immagino che tu possa fare qualcosa prima dell'azione di invio come questo

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

Dopo aver premuto il tasto submit, checkValid() viene evocato prima che si sottomettersi.Un valore di ritorno del truewill Continua l'azione di invio.

Fare riferimento a Questo post per ulteriori spiegazioni.:

Se si utilizza PHP, è possibile aggiungere una convalida come questa

function validation(){

  if(isset($_POST['submit'])){
  $email = $_POST['email'];

     if(empty($email)){
        echo $error = "Your email cannot be empty";

      } else {
        return true; //or do something next here
     }
   }
.

Quindi aggiungi questa funzione in PHP prima del modulo.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top