0

プログラムでPHPログインスクリプトを使用してCOdeigniterいます。このフォームに正しい資格情報を入力すると、 が表示されますが、正しい資格情報を入力したerror後、新しいタブで同じフォームを開くと、自動的に開かれます。いくつかのjsの問題があるようです。何か案が ?ここはcode

 <form method="post" action="#" onsubmit="return validateLogin('loginForm')" name="loginForm"> 
          <table width="100%" cellpadding=0 cellspacing=0>
            <tr>
              <td>
                <b>
                  Username:
                </b> 
              </td>
              <td>
                <input type="text" name="usr" />
              </td>
            </tr>
            <tr>
              <td>
                <b>
                  Password:
                </b>
              </td>
              <td>
                <input type="password" name="pwd" />
              </td>
            </tr>
            <tr>
              <td></td>
              <td>
                <input type="submit" value="Login" class="submit" />
              </td>
            </tr>
          </table>  
        </form>

機能は

function validateLogin(form) {
  user = document.forms[form].usr;
  pwd = document.forms[form].pwd;
  if(user.value.length==0)
  {
    notify('Please enter a valid username', 'error');
    user.focus();
    hilit('[name = user]');
    return false;
  }
  else if(pwd.value.length==0)
  {
    notify('Please enter a valid password', 'error');
    pwd.focus();
    hilit('[name = pwd]');
    return false;
  }
  else
  {
  notify('processing.... please wait', 'notice');
  dataString = 'user='+user.value+'&pwd='+pwd.value;
    jQuery.ajax({
      type: "POST",
      data: dataString,
      url: baseurl+'admin/checkLogin', 
      cache: false,
      error: function()
      {
        notify("An error occurd... please try later", 'error');
      },
      success: function(html)
      {
        if(html == 1)
        {
          window.location = baseurl+'admin/home';
        }
        else
        {
          notify('Your login details are incorrect!!!', 'error');
        }
      }
    });
    return false;
  }
  return false;
}
4

1 に答える 1

0

データを間違った方法で送信しています サーバーに送信されるデータは、キーと値のペアである必要があります。{key : value}

このようにajax呼び出しでデータを変更します

data : { user : user.value, pwd : pwd.value}

編集

これでエラー処理コードを変更します

error:function(xhr,err){
    alert("readyState: "+xhr.readyState+"\nstatus: "+xhr.status);
    alert("responseText: "+xhr.responseText);
}
于 2012-11-20T05:55:50.717 に答える