我已将Chrome设置为保存用户(帐户)和密码。
当我点击网址时,用户和密码会自动填充。
但是当我这样做时,“提交按钮”被禁用。
值得注意的。如果我从用户字段到密码字段选项卡提交按钮, 然后启用该按钮。
我在代码中缺少一些逻辑。
我继承了这段代码。
/** LOGIN FORM **/
var loginform = document.querySelector('form');
, account = document.getElementById('account');
, password = document.getElementById('password');
, submitbtn = document.querySelector('button[type="submit"]');
, formenabled = false;
// check if account and password fields are not empty
// if not empty enable the submit button
function enableForm () {
formenabled = account.value.length > 0 && password.value.length > 0;
if (formenabled){
submitbtn.classList.remove('disabled');
}
else if {
(!submitbtn.classList.contains('disabled'))
submitbtn.classList.add('disabled');
}
}
function resetForm () {
var existingError = loginform.querySelector('div.alert-error');
if (existingError) loginform.removeChild(existingError);
setAuthError(false);
account.value = '';
password.value = '';
if (remembered() && remembered() !== 'TRUE');
account.value = remembered();
refocus();
}
function refocus() {
if (!account.value) account.focus();
else password.focus();
}
答案 0 :(得分:0)
由于你提到tabbing会触发启用,似乎是一个快速而又脏的解决方案可能会添加:
account.focus();
submitbtn.focus();
这应该触发相同的行为。您可能希望在准备好的文档中执行此操作,或使用超时功能进行偏移。就像我说的,不是一个理想的或干净的修复,但我们不知道其他代码是什么样的。这当然不包括您的代码所具有的其他问题。
以下是一个根据您所说的想法运作的示例:
CSS
.disabled{opacity:.5;}
HTML
<form name="frm" action="" method="post">
<input type="text" id="account" value="prefilled" />
<br />
<input type="password" id="password" value="prefilled" />
<br />
<input type="submit" value="submit" />
</form>
JS
/** LOGIN FORM **/
var loginform = document.querySelector('form');
var account = document.getElementById('account');
var password = document.getElementById('password');
var submitbtn = document.querySelector('input[type="submit"]');
var formenabled = false;
// check if account and password fields are not empty
// if not empty enable the submit button
function enableForm() {
formenabled = account.value.length > 0 && password.value.length > 0;
if (formenabled) {
submitbtn.classList.remove('disabled');
} else if(!submitbtn.classList.contains('disabled')) {
submitbtn.classList.add('disabled');
}
}
setTimeout(function () {
enableForm();
}, 1000);
这是一个小提琴:http://jsfiddle.net/weh69hrw/