подтвердите дату как обязательное поле с Javascript

1

Мне нужно проверить форму с помощью JS, чтобы без заполнения некоторых обязательных полей форма не может быть отправлена.

Например, чтобы указать фамилию по мере необходимости, я использовал,

<script>

    function validateform(){
        var x=document.forms["vacancy"]["surname"].value;
        if(x==""){alert("Surname must be filled out");
                 return false;}
</script> 

Форма:

<form name="vacancy" action="" onSubmit="return validateform()">
Surname <input name="surname" type="text">
</form>

Этот код отлично подходит, но когда я использовал то же самое для дня рождения, он продолжается, не проверяя, предоставлено ли поле.

<script> 
function validateform(){
var a=document.forms["vacancy"]["dob"].value;
        if(a==""){alert("Birthdate must be filled out");
                 return false;}
</script>

<form name="vacancy" action="" onSubmit="return validateform()">
 Date of Birth <input name="dob" type="date">
</form>

Есть ли другой способ проверить, когда тип установлен на сегодняшний день?

  • 0
    Вы проверили значение ( a ), которое имеет поле, если оно не заполнено?
  • 0
    да. Это по-прежнему дает значение по умолчанию мм / дд / гггг
Показать ещё 2 комментария
Теги:
date

2 ответа

0

По-видимому, у вас есть опечатка во втором скрипте: finction validateform(), где "finction" должно быть "function".

В качестве альтернативы вы можете просто использовать для этого required атрибут.

<form name="vacancy" action="">
  Surname <input name="surname" type="text" required></br>
  DOB <input name="dob" type="date" required></br>
  <button type="submit">Submit</button>
</form>

EDIT (для отредактированного вопроса): какой браузер вы используете, поскольку пример исправленного кода работает в приведенном ниже примере. Если вы используете обе формы на одной странице, то объявления функций, validateform, приведут к столкновению имен.

<script>
  function validateform() {
    var a = document.forms["vacancy"]["dob"].value;
    if (a == "") {
      alert("Birthdate must be filled out");
      return false;
    }
  }
</script>

<form name="vacancy" action="" onSubmit="return validateform()">
  Date of Birth <input name="dob" type="date">
</form>
  • 0
    Спасибо, я исправил это. Но это все то же самое. В идеале должно появиться окно сообщения, если DOB не заполнено, но при отправке этого не происходит.
  • 0
    Я пробовал и с Chrome и с Firefox
Показать ещё 1 комментарий
0

Вы можете просто проверить, по умолчанию значение 'mm/dd/yyyy' по-прежнему присутствует в 'a' вместо пустой строки, а затем выдает сообщение.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню