2013-07-03 4 views
0

Я запрограммировал это, чтобы проверить данные моей формы, однако это не сработает. Сначала я проверяю все значения, если они равны нулю, тогда я проверяю, действительно ли адрес электронной почты действителен, и затем проверяю, установлен ли флажок.Проверка Javascript не работает на submit

Когда я отправляю форму без значений на входе, она успешно загружает документ, указанный в action="#", что не должно происходить из-за return false;.

function validateForm() { 
      var meno = document.forms["registracia"]["meno"].value; 
      var priezvisko = document.forms["registracia"]["priezvisko"].value; 
      var telefon = document.forms["registracia"]["telefon"].value; 
      var email = document.forms["registracia"]["email"].value; 
      var vek = document.forms["registracia"]["vek"].value; 
      var praca = document.forms["registracia"]["praca"].value; 
      var motto = document.forms["registracia"]["motto"].value; 
      var osoba = document.forms["registracia"]["osoba"].value; 

      if (meno == null || meno =="" || priezvisko == null || priezvisko =="" || 
      telefon == null || telefon =="" || email == null || email =="" || 
      vek == null || vek =="" || praca == null || praca =="" || 
      motto == null || motto =="" || osoba == null || osoba =="" ||) { 
       alert("Musíte vyplniť všetky údaje."); 
       return false; 
      } 
      var re = /^(([^<>()[\]\\.,;:\[email protected]\"]+(\.[^<>()[\]\\.,;:\[email protected]\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/; 
      if(!re.test(email)) { 
       alert("Zadajte platnú e-mailovú adresu."); 
       return false; 
      } 

      if(!document.forms["registracia"]["suhlas"].checked) { 
       alert("Musíte súhlasiť s uverejnením vašej fotografie."); 
       return false; 
      } 
     } 
+5

Просьба указать «не работает». – Uooo

+4

Неужели это бегает? Есть ли видимая ошибка? Давай! Более подробно пожалуйста :) – christopher

+1

Подробнее plz:)! – MAST3RMIND

ответ

1

Вы имели дополнительный || в конце вашего if состояния. Вы также можете сделать его более читаемым, см. Ниже.

function validateForm() { 
    var form = document.forms["registracia"]; 

    if (!form.meno.value 
      || !form.priezvisko.value 
      || !form.telefon.value 
      || !form.email.value 
      || !form.vek.value 
      || !form.praca.value 
      || !form.motto.value 
      || !form.osoba.value) { 
     alert("Musíte vyplniť všetky údaje."); 
     return false; 
    } 
    var re = /^(([^<>()[\]\\.,;:\[email protected]\"]+(\.[^<>()[\]\\.,;:\[email protected]\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/; 
    if(!re.test(form.email.value)) { 
     alert("Zadajte platnú e-mailovú adresu."); 
     return false; 
    } 

    if(!form.suhlas.checked) { 
     alert("Musíte súhlasiť s uverejnením vašej fotografie."); 
     return false; 
    } 
} 
+0

Спасибо, он работает сейчас :). Я действительно делаю много глупых ошибок. –

+0

Нах, ошибки никогда не глупы. Единственная глупая вещь не будет учиться у них –

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