PHPでajaxで動作するログインフォームがあります。ログインボタンをクリックすると非常にうまく機能しますが、Enterキーを押しても動作しません。
私はそれについて多くの調査を行い、同じことに関してこのサイトに投稿されたすべての解決策を試し、すべての解決策を試しましたが、何もうまくいきません。
私のHTMLはdivid="mini-login"でラップされています
<div class="content-login">
<h4>Email Address:</h4>
<input type="text" name="email" value="" />
<h4>Password:</h4>
<input type="password" name="password" value="" id="pasword"/>
<br />
<a href="<?php echo $forgotten; ?>"><?php echo $text_forgotten; ?></a><br />
<br />
<input type="button" value="<?php echo $button_login; ?>" id="button-login-mini" class="button" />
そして私のスクリプト-
$('#button-login-mini').live('click', function() {
$.ajax({
url: 'index.php?route=module/login/validate',
type: 'post',
data: $('#mini-login .content-login :input'),
dataType: 'json',
beforeSend: function() {
$('#button-login-mini').attr('disabled', true);
$('#button-login-mini').after('<span class="wait">Please wait</span>');
},
complete: function() {
$('#button-login-mini').attr('disabled', false);
$('.wait').remove();
},
success: function(json) {
$('.warning, .error').remove();
if (json['redirect']) {
$('#mini-login .content-login').fadeOut('slow');
location = json['redirect'];
} else if (json['error']) {
$('#mini-login .content-login').prepend('<div class="warning" style="display: none;">' + json['error']['warning'] + '</div>');
$('.warning').fadeIn('slow');
}
},
error: function(xhr, ajaxOptions, thrownError) {
alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText);
}
});
});
したがって、上記は非常にうまく機能していますが、keyup、keydown、keypressを使用して、keyCode == 13をチェックして、Enterキーで呼び出しようとしましたが、機能しませんでした。フォームも使用してみました。 !! 私は何が間違っているのですか?そしてそれを機能させる方法は??
注:ログインページはドキュメント全体ではなく、ホームページのログインリンクをクリックすると下にスライドします。
これがログインページの呼び方です-
$(document).ready(function() {
$('#mini-login > .heading-login a').live('click', function() {
$('#mini-login').addClass('active');
$('#mini-login').load('index.php?route=module/login #mini-login > *');
$('#mini-login').live('mouseleave', function() {
$(this).removeClass('active');
});
});
});