-3

我有一个用户名表格。其中有2个字段,用户名和密码。基本上用户一直在尝试输入他们的电子邮件地址来登录,这很痛苦,因为我只希望他们使用他们的用户名而不是电子邮件登录。

所以我需要它,所以如果用户试图将他们的电子邮件地址放在用户名字段中,它将显示一个错误,如“使用您的用户名,而不是电子邮件登录”。场下。例如

如果用户在字段中输入“myemail@test.com”并按提交,则会出现错误。

我目前也有一个“必填字段”验证。

这是代码:

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>

谢谢

4

1 回答 1

2

首先,将不应包含电子邮件地址的用户名字段命名为“电子邮件”非常棒。反正。

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();

}

那应该这样做。

于 2013-03-14T21:41:48.897 回答