Проблем с required полета при iOS и Safari

vinsbg

Registered
Здравейте,

Имам една обикновена форма в която трябва да се попълнят няколко полета. Всички полета са с required и проблема е, че на устройства под iOS потребителя може да натисне бутона Submit дори без да е попълнил полетата.

Доколкото разбрах това си е проблем за който се знае при тях. Въпроса ми е има ли някакъв начин все пак да не може да се събмитва празна форма по iOS?

Формата си е стандартна:
Код:
    <form action="mailer.php" method="post">

    <fieldset>
    <div class="column-50">
      <div>

        <label for="name">Name <span>*</span></label>
        <input type="text" id="name" name="name" required>
        <span class="mf-error-message">Error! </span>    

       </div>


       <div>

        <label for="email">Email <span>*</span></label>
        <input type="text" id="email" name="email" required>
        <span class="mf-error-message">Error! </span>    

       </div>
          .... //няколко други полета
       <input type="submit" id="submit" name="submit" value="Enter your Information">
    </form>
 
Я виж дали така ще работи :) , не съм много сигурен!
Код:
<form action="mailer.php" id="formMailer" method="post">

    <fieldset>
    <div class="column-50">
      <div>

        <label for="name">Name <span>*</span></label>
        <input type="text" id="name" name="name" required>
        <span class="mf-error-message">Error! </span>    

       </div>


       <div>

        <label for="email">Email <span>*</span></label>
        <input type="text" id="email" name="email" required>
        <span class="mf-error-message">Error! </span>    

       </div>
          .... //няколко други полета
       <input type="submit" id="submit" name="submit" value="Enter your Information">
    </form>

<script>

var form = document.getElementById('formMailer'); 
form.noValidate = true;
form.addEventListener('submit', function(event) {  
        if (!event.target.checkValidity()) {
            event.preventDefault();  
            alert('Попълни полетата!');  
        }
    }, false);
	
	
</script>
 

Back
Горе