2014-08-28 2 views
0

Я пытаюсь проверить свою регистрационную форму, но ее не работает, я google, но не нашел решение. вот мой Javascript код:проверка формы с использованием javascript не работает

 <script> 
     function validateForm() { 
     var x = document.forms["form"]["firstname"].value; 
     if (x==null || x=="") { 
     alert("First name must be filled out"); 
     return false; 
     } 
     } 
     </script> 

и моя форма:

<form name="form" id="form" action="register.php" method="post" 
    enctype="multipart/form-data" onsubmit="return validateForm()"> 

     <span class="required">*</span> First Name:</td> 
     <input type="text" name="firstname" id="firstname" value="" /> 
     <input type="submit" value="Continue" class="button" /> 

    </form> 
+0

Я просто хочу отметить недостаток безопасности, который я вижу, вы также должны проверить это на стороне сервера. Я могу легко обойти JavaScript, делая этот уровень безопасности бесполезным. Например, кто-то может опубликовать данные с помощью расширения веб-клиента RESTful в chrome и полностью обойти первое поле имени или сделать его супер loooong ... –

+0

http://stackoverflow.com/questions/1513286/document-getelementbyid-selage-vs -document-MyForms-selage – Donal

ответ

0

Установка для это неверно. Итак, я отредактировал его, чтобы показать лучший способ. Не идеальный путь, но ближе к тому, что вы уже написали.

Изменение его вокруг, как это:

<form name="form" id="form" action="register.php" method="post" 
    enctype="multipart/form-data"> 

     <span class="required">*</span> First Name:</td> 
     <input type="text" name="firstname" id="firstname" value="" /> 
     <input type="button" value="Continue" class="button" onclick="validateForm()" /> 

    </form> 

Затем, сделайте представление, если она проходит:

<script> 
diItPass=1; 
     function validateForm() { 
     var x = document.forms["form"]["firstname"].value; 
     if (x==null || x=="") { 
     alert("First name must be filled out"); 
     didItPass=0; 
if (didItPass==1) { document.getElementById("form").submit() } 


     } 
     } 
     </script> 

Идея заключалась в том, чтобы установить переменную, чтобы показать, если форма передается представление. Если да, отправьте его. Если он не отображает предупреждение и ничего не делает.

0

Вы должны использовать document.getElementById чтобы получить значение входа ПгвЬЫата. Я сделал скрипку здесь, если вы хотите, чтобы он работал: http://jsfiddle.net/365qebye/1/

function validateForm() {   
     var x = document.getElementById("firstname").value;   
     if (x === null || x === "") { 
      alert("First name must be filled out"); 
      return false; 
     } 
    } 
Смежные вопросы