2013-03-14 2 views
-3

У меня есть форма имени пользователя. У вас есть 2 поля, имя пользователя и пароль. В основном пользователи пытались ввести свой адрес электронной почты для входа в систему, что является болью, потому что я только хочу, чтобы они входили в систему со своим именем пользователя, а не по электронной почте.Проверка в моей HTML-форме в Javascript?

Так что мне это нужно, поэтому если пользователь попытался поместить свой адрес электронной почты в поле имени пользователя, в нем будет отображаться сообщение об ошибке «Используйте свое имя пользователя, а не адрес электронной почты для входа». Под полем. .

Если пользователь помещает «[email protected]» в поле и нажимает кнопку «Отправить», появится ошибка.

В настоящее время у меня есть также обязательное поле.

Вот код:

JS:

 <script type="text/javascript"> 
    function validar() 
    { 
    var right = 1; 

    if(document.getElementById('email').value.length==0) 
    { 
     right = 0; 
     document.getElementById('emptymail').innerHTML = "Fill in the required fields"; 
    } 
    if(document.getElementById('password').value.length==0) 
    { 
     right = 0; 
     document.getElementById('emptypass').innerHTML = "Fill in the required fields"; 
    } 

    if(right == 1) 
    { 
     document.forms["formu"].submit(); 
    } 

    } 
    </script> 

ФОРМА:

<div id="sessionContainer" class="clearfix"> 
    <div class="content"> 
    <form action="goto.php" class=" sign-in" method="post" name="formu" id="formu"> 
     <div style="margin:0;padding:0"></div> 
     <h3>Please login</h3> 
     <div class="clearfix"> 
     <label for="">Username</label><br> 
     <input class="xlarge" id="email" name="email" tabindex="1" type="text" value="" /><div id="emptymail"></div> 
     </div> 
     <div class="clearfix"> 
     <label for=""><br> 
      Password</label><br> 
     <input class="xlarge" id="password" name="password" tabindex="2" type="password" value="" /><div id="emptypass"></div> 
     </div> 


     <p class="remember">&nbsp;</p> 
     <p class="remember"> 
     <button class="btn btn-m btn-blue" id="signin_submit" name="commit" type="button" tabindex=5 onclick="validar();">Sign in</button> 
     </p> 

Благодаря

+1

делает ли имя пользователя символом '@'? потому что кажется, что вы можете просто проверить наличие этого в строке с .indexOf()> -1 – PlantTheIdea

+0

Ну, все имена пользователей - это символы и цифры, но я бы предпочел, чтобы можно было проверить его в формате электронной почты –

+0

Где именно вы застреваете? Обнаружение неправильного ввода и обнаружение пустого ввода - очень похожие задачи, поэтому вы, похоже, больше всего там. – IMSoP

ответ

2

Во-первых, это блестящий именовании поле имя пользователя, которое не должно содержать электронное -mail адрес "email". В любом случае.

function validar() 
{ 
    if(document.getElementById('email').value.length==0) 
    { 
     document.getElementById('emptymail').innerHTML = "Fill in the required fields"; 
     return; 
    } 
    if(document.getElementById('password').value.length==0) 
    { 
     document.getElementById('emptypass').innerHTML = "Fill in the required fields"; 
     return; 
    } 
    var x=document.getElementById('email').value; 
    var atpos=x.indexOf("@"); 
    var dotpos=x.lastIndexOf("."); 
    if (!(atpos<1 || dotpos<atpos+2 || dotpos+2>=x.length)) 
    { 
     document.getElementById('email').focus(); 
     document.getElementById('emptymail').innerHTML = "Use your username, not email to login"; 
     return; 
    } 

    document.forms["formu"].submit(); 

} 

Это должно быть сделано.

+0

Хорошо, попробовал. Не работает. Мне нужно что-нибудь для '

'? –

+0

Извините, я не понимаю вопроса. Что не работает? – GusOst

+0

Проверьте этот скриншот, это код справа http://i.imgur.com/i7oalBW.png –

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