0

所以,我在灯箱中设置了一个登录表单。我希望当用户单击提交时,在刷新之前检查用户名和密码是否正确并转到会员页面的功能。它还应该显示灯箱中的错误。

我对 jQuery 部分有疑问,尤其是 $.post 函数。

jQuery代码:

 $('#Connection form').submit('Connection',function(){
var Username = $('#UsernameConnection').val();

if(Username=="")
{   
    $('#UsernameConnection').css('border-color','red');
    $('.ErrorUsernameConnection').text('Error 1');
    Username = "Empty Field";
}else

if(Username=="Invalid")
{
    $('#UsernameConnection').css('border-color','orange');
    $('.ErrorUsernameConnection').text('Error 2');
    Username = "Invalid field";
}

var Password = $('#Password Connection').val();

if(Password =="")
{   
    $('#Password Connection').css('border-color','red');
    $('.ErrorPassword Connection').text('Error 3');
    Password = "Empty field";
}
    if((Username==true)&&(Password==true))
    {           
        $.post('fonctions/connection.php',{VALUE1:VALUE2},function(connection)
        {
            $('.ConnectionError').text(connection);

            if(connection=="ok")
            {
                return true;
            }else
            {
                return false;
            }
        });     
    }else
    {   
        return false;
    }
    });
        });

PHP代码:

if(isset($_POST['Connection']))
{   
     all the verifying function goes here.
}

和 HTML:

<div id="Connection">
    <div class="formConnection">
    <form method="POST" autocomplete="off" name="Connection">
        <label for="Connection">Username:</label><br/>
        <input type="text" name="UsernameConnection" id="UsernameConnection"/><br/>
        <span class="ErrorUsernameConnection"></span><br/>
        <label for="Connection">Password:</label><br/>
        <input type="password" name="PasswordConnection" id="PasswordConnection"/>
        <span class="ErrorPasswordConnection"></span><br/>
        <input type="checkbox" name="checkbox"/><label>Remember me</label><br/>
        <input type="submit" name="Connection" value="Log In" id="Connection" class="LogIn"/>       
    </form>
    </div>
</div>

我的问题是:

  • $.post是正确的功能吗?如果是,:

  • var因为脚本只有在用户点击提交按钮时才会启动,是否需要在 jQuery 中为提交按钮新建一个?

  • if(isset($_POST['Connection']))在这种情况下是否需要 php 中的部分,或者我可以立即放置该函数吗?

  • 什么应该VALUE1和什么VALUE2才能起作用?

4

2 回答 2

0

我认为这是你想要做的:

$('#Connection form').submit('Connection',function(){

    $.ajax({
      type: "POST",
      url: "some.php",
      data: { name: "John", password: "Boston" }
    }).done(function( msg ) {
      alert( "Data Saved: " + msg );
    });

 });

基本上,您可以序列化您的表单并将其发布到页面。让页面发回一条消息(成功或失败,1 或 0),然后对这些数据进行处理。

于 2012-08-20T15:25:56.060 回答
0

我认为你把事情复杂化了。您只想通过 AJAX 发布表单——最简单的方法如下:

$('#login-form').submit(function() {
    $.post('login.php', $(this).serialize(), function(response) {
        // do something on success or failure here
    });
    return false;
});

让您的login.php回显一个 JSON 对象,或truefalse,并在您的灯箱或其他任何内容中显示任何错误。

于 2012-08-20T15:33:07.680 回答