2014-02-17 4 views
-1

У меня есть веб-страница, где пользователь отправляет форму, содержащую поле электронной почты и поле для подтверждения.Проверка соответствия электронной почты в HTML-форме

Как сделать так, чтобы обе эти поля были одинаковыми?

<form> 
Email: <input type="text" name="email"><br /><br /> 
Confirm Email: <input type="text" name="confirmemail"><br /><br /><br /><br /> 
<input type="submit" value="Submit"> 
</form> 
+0

Это помечено js и jquery, но не отображается, и форма отправляется на submit.PHP. Просьба уточнить .. – OJFord

+0

Обновленные теги, а действие для формы не имеет значения. – user3130731

+1

проверить, где? сервер или клиент? Если вы хотите его на клиенте, не нужно было удалять тег javascript – charlietfl

ответ

0

Самый простой способ будет использовать Javascript, как вы можете остановить отправку формы, прежде чем он идет в файл PHP. Однако по-прежнему рекомендуется проверять данные, введенные с файлом php, а также есть некоторые программы, которые позволят вам изменять данные, передаваемые в форме после выполнения проверки javascript.

<script> 
    function checkMatch() { 
     var email = document.getElementById('email').value; 
     var emailConfirm = document.getElementById('emailConfirm').value; 

     if (email != emailConfirm) { 
      alert("Email addresses are not the same."); 
      return false; //Returning 'false' will cancel form submission 
     } else { 
      /* 
      place the return true; at the end of the function if you do other 
      checking and just have if conditions and return them as false. If 
      one thing returns false the form submission is cancelled. 
      */ 
      return true; 
     } 
    } 
</script> 

И изменить форму, чтобы иметь onSubmit

<form method="post" action="submit_query.php" onSubmit="checkMatch()"> 

Добавить идентификаторам в электронные ресурсы, такие как: электронная почта и emailConfirm. Вы можете изменить их, если хотите, но только для примера я использовал их.

+0

У меня есть это: http://pastebin.com/pTB9tSww, но моя форма по-прежнему отправляется.

user3130731

+0

Я также добавил идентификаторы. – user3130731

+0

'' Если он возвращает false, форма не будет отправлена. (добавил к моему ответу) – vlllc

0

с JQuery, но не обработки ошибок, я хотел бы предложить:

$('form').on('submit', function() { 
    return $('input[name=email]').val() == $('input[name=confirmemail]').val(); 
}); 

смехотворно простой JS Fiddle demo.

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