JQuery Ajax формы отправить, чтобы вызвать скрипт входа PHP - PullRequest
0 голосов
/ 19 мая 2010

Спасибо за проверку моей проблемы ... У меня проблемы с отправкой формы входа через Ajax для запуска php-скрипта и возврата нового набора html-элементов, которые заменят HTML в #userlinks .... вот что у меня так далеко

$("#login_form").submit(function() { return false; });

$('#login_button').click(function(event) {
    $form = $(this).parent("form");
    $.post($form.attr("action"), $form.serialize(), function(data){
        $('#userlinks').html(data);
    }); 
});

HTML:
    <form id="login_form" name="login" action="login.php">

PHP:
$username = empty($_COOKIE['username']) ? '' : $_COOKIE['username'];
$id = empty($_COOKIE['id']) ? '' : $_COOKIE['id'];

if ($username && $id) {
throw new RedirectBrowserException('index.php');
} else {
$action = empty($_POST['action']) ? '' : $_POST['action'];
if ($action == 'do_login') {
    $username = empty($_POST['username']) ? '' : $_POST['username'];
    $password = empty($_POST['password']) ? '' : $_POST['password'];
    echo handle_login($username, $password);
} else {
    throw new RedirectBrowserException('index.php');
}
}

Скрипт php проверяет данные сообщений с именем пользователя и паролем, но все, что я получаю, это обновление страницы и никаких изменений. Ничего не вернется, если я не превращу login_button в ссылку и немного изменим скрипт ... Любая помощь будет принята с благодарностью!

Ответы [ 2 ]

2 голосов
/ 19 мая 2010

Попробуйте это:

$("#login_form").submit(function(event){

    $.post($(this).attr("action"), $(this).serialize(), function(data){
        $('#userlinks').html(data);
    });

    event.preventDefault();  
});
0 голосов
/ 19 мая 2010

Попробуйте сделать следующее

//$("#login_form").submit(function() { return false; }); <-- remove this line
$('#login_button').click(function(event) {
    $form = $(this).parent("form");
    $.post($form.attr("action"), $form.serialize(), function(data){
        $('#userlinks').html(data);
    });
    return false;
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...