0
フォームに問題があります - パスワードフィールドを選択できないようです。それに到達する唯一の方法は、Tabキーを使用してフィールドに移動することです。これはWebkitブラウザにのみ影響します。Webkit - フィールドを選択できません
これは、フォームのHTML
public function form()
{
global $ACL_LANG;
$htmlForm = '<form id="frmlogin"><fieldset><label><dl><dt>';
switch (LOGIN_METHOD) {
case 'both' :
$htmlForm .= $ACL_LANG ['USERNAME'] . '/' . $ACL_LANG ['EMAIL'];
break;
case 'email' :
$htmlForm .= $ACL_LANG ['EMAIL'];
break;
default :
$htmlForm .= $ACL_LANG ['USERNAME'];
break;
}
$htmlForm .= '</label></dt>' . '<dd><input type="text" name="u" id="u" class="large" /></dd><dt>' . '<label>' . $ACL_LANG ['PASSWORD'] . '</label></dt>' . '<dd><input type="password" name="p" id="p" class="large" /></dd>' . '<input type="hidden" name="uri" id="uri" value="' . $_SERVER['REQUEST_URI'] . '" /></dl></fieldset><button type="submit" style="float:right;">Log in</button></form>';
return $htmlForm;
}
これにはJavaScriptをページ
$.getJSON(postFile, function(data) {
if (data.status == true) {
// status is authorized
if (autoRedir) {
$(authentication).hide();
$(authenticating).hide().html('Authentication success.').fadeIn('fast', function() {
window.location = data.url;
});
} else {
$(waitId).fadeOut('slow',
function() {
$(wrapperId).html(data.message).slideDown();
}).html();
}
} else {
// show form
$(wrapperId).html(data.message).fadeIn('0', function() {
// hide message
$(waitId).fadeOut('fast',
function() {
//*/ submit handler
$("#frmlogin").submit(function() {
// loading
$(waitId).hide();
$(notificationerror).hide();
$(notification).hide();
$(authentication).fadeIn();
$(wrapperId).hide();
var _u = $(userId).val(); // form user
var _p = $(passId).val(); // form id
var _uri = $(uri).val(); // form id
//@ valid user (modify as needed)
if (_u.length < 4) {
$(authentication).hide();
$(notificationerror).html(jsErrMsg).fadeIn('fast', function() {
});
$(wrapperId).show();
}
else {
//@ valid password (modify as needed)
if (_p.length < 4) {
$(authentication).hide();
$(waitId).html(notificationerror).fadeIn('fast', function() {
$(passId).focus();
});
}
else {
$.post(postFile, { u: _u, p: _p, uri: _uri }, function(data) {
if (data.status == true) {
if (autoRedir) {
$(authentication).html('Setting session.').fadeIn();
setTimeout("",2000);
$(authentication).html('Authentication success.').fadeIn('fast', function() {
window.location = data.url;
});
} else {
$(waitId).fadeOut('slow',
function() {
$(wrapperId).slideUp('slow', function() {
$(this).html(data.message).slideDown();
});
}).html();
}
} else {
$(wrapperId).show();
$(notification).show();
$(authentication).hide();
$(notificationerror).html(data.message).fadeIn(function() {
});
}
}
, 'json');
}
}
return false;
});
//*/
}).html();
});
}
});
任意のアイデアを支配しているのですか?
このようなフォームは作成しないでください。テンプレートを使用します。 –
'setTimeout(" "、2000)'を呼び出すと何も役に立ちません。 – Pointy
@Pointy、私はそれを削除しました。 – bear