2012-04-23 3 views
0

У меня есть некоторые проблемы с моей формой (проверка). Они не дают никакой ошибки, когда данные не заданы. Как я могу исправить эту проблему? Это лишь часть моего кода. Для букв, цифр и типов электронной почты он отлично работает. Спасибо за помощь.проверка данных javascript

function onFormSubmit(form_element){ 
    var checked = 0; 
    if (form_element.gender[0].checked == false && form_element.gender[1].checked == false){ 
     alert("Please choose your Gender:Male of Female"); 
     return false; 
    } 

    if (form_element.make.selectedIndex == 0){ 
     alert("Please select your rating interval."); 
     form_element.make.focus(); 
     return false; 
    } 

    if (form_element.click.checked == false){ 
     alert("Please confirm your registration!"); 
     false; 
    } 

    return true; 
} 

HTML

<form class="contact_form" action="" method="post" name="contact_form" onsubmit="return onFormSubmit(this)"> 
    <ul> 
     <li> 
      <h2>Sign-Up Form</h2> 
     </li> 
     <li> 
      <label for="Male">Male:</label> 
      <input type="radio" name="gender" value="m" /> &nbsp; Female:<input type="radio" name="gender" value="f" /> 
      <br /> 
     </li> 
     <li> 
      <label for="National Rating">National Rating:</label> 
      <select name="make"> 
        <option selected>-- SELECT --</option> 
        <option> Below 1200 </option> 
        <option> 1200 - 1500 </option> 
        <option> 1500 - 1800 </option> 
        <option> 1800 - 2100 </option> 
        <option> Above 2100 </option> 
      </select><br /> 
     </li> 
     <li> 
      <input type="checkbox" name="click" value="regist"> I confirm my registration. 
      <br /> 
     </li> 
     <li> 
      <button class="submit" type="submit">Submit</button> 
     </li> 
    </ul> 
</form> 
<div id="error_message" style="color:#ff0000;"></div> 
+0

я устану говорить это людям, но ** пожалуйста ** отступа код ** правильно ** так что читаемый другим человеческим существам. Ваш код в настоящее время является правильным беспорядком, и вряд ли можно будет следовать, где заканчивается одна область, а другая начинается. – Hubro

+0

редактируемые отступы, пожалуйста. но я вижу что-то не так с самим кодом – Joseph

+0

Как я могу откорректировать код правильно? Не могли бы вы помочь? – pepsicode

ответ

0

Из ваших функций имя я бы сказал, вы называете это во onSubmit? Большинство браузеров не показывают предупреждения во время onSubmit. Предлагаю сначала выполнить проверку и затем отправить данные.

+0

Как я могу это сделать? – pepsicode

+1

Откуда у вас эта идея? Все браузеры, о которых я знаю, позволяют показывать предупреждения от слушателя. – RobG

+0

то как я могу это исправить? – pepsicode

1

В этом тесте:

> if (form_element.click.checked == false){ 
>   alert("Please confirm your registration!"); 
>   false; 

вы оставили оттуда return.

+0

Я попробовал их с возвращением и без возврата несколько раз. Это не работает. Более того, они говорят, что мой код похож на беспорядок. Какая часть похожа на беспорядок? HTML или javascript? И как я могу написать его правильно? Я ценю вашу помощь. – pepsicode

0

просто приложить к onclick событию, и она работает:

<form class="contact_form" action="" method="post" name="contact_form" onclick="onFormSubmit"> 
+0

вместо onsubmit = "return onFormSubmit (this)? – pepsicode

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