-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

まず、電子メール アドレス「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();

}

それはそれを行う必要があります。

于 2013-03-14T21:41:48.897 に答える