Программные обработчики клика для кнопок Войти/Регистрация

This commit is contained in:
Dauren777 2026-06-03 12:47:36 +00:00
parent a05f4d5256
commit 8e460986ac

View File

@ -200,7 +200,7 @@ body{font:15px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Inter,system-ui,s
<div id="formLogin" class="login-form active">
<div class="form-group"><label>Логин</label><input type="text" id="loginUser" placeholder="Введите логин" autocomplete="username"></div>
<div class="form-group"><label>Пароль</label><input type="password" id="loginPass" placeholder="Введите пароль" autocomplete="current-password"></div>
<button class="btn btn-primary btn-block" onclick="doLogin()">Войти</button>
<button id="loginBtn" class="btn btn-primary btn-block">Войти</button>
<div id="loginError" class="login-error">Неверный логин или пароль</div>
</div>
<div id="formRegister" class="login-form">
@ -223,7 +223,7 @@ body{font:15px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Inter,system-ui,s
<div class="form-row"><div class="form-group"><label>Филиал</label><input type="text" id="regBranch" placeholder="Напр: АО «Казахтелеком»"></div><div class="form-group"><label>Структурное подразделение</label><input type="text" id="regDept" placeholder="Напр: ЦТО МС"></div></div>
<div class="form-row"><div class="form-group"><label>Регион</label><input type="text" id="regRegion" placeholder="Напр: Алматинский"></div><div class="form-group"><label>Область</label><input type="text" id="regOblast" placeholder="Напр: Алматинская обл."></div></div>
<div class="form-group"><label>Город / село</label><input type="text" id="regCity" placeholder="Напр: г. Алматы"></div>
<button class="btn btn-primary btn-block" onclick="doRegister()">Зарегистрироваться</button>
<button id="regBtn" class="btn btn-primary btn-block">Зарегистрироваться</button>
<div id="regError" class="login-error">Ошибка регистрации</div>
<div id="regSuccess" class="register-success">Регистрация успешна! Сейчас войдите.</div>
</div>
@ -496,28 +496,30 @@ function isAdmin(){return currentUser&&currentUser.login==='admin'}
// ========== INIT ==========
function init(){
// Event listeners FIRST — must work even if other init fails
try{
var lu=document.getElementById('loginUser');if(lu)lu.addEventListener('keydown',function(e){if(e.key==='Enter')doLogin();});
var lp=document.getElementById('loginPass');if(lp)lp.addEventListener('keydown',function(e){if(e.key==='Enter')doLogin();});
var lu=document.getElementById('loginUser');
var lp=document.getElementById('loginPass');
var lb=document.getElementById('loginBtn');
var rb=document.getElementById('regBtn');
if(lu)lu.addEventListener('keydown',function(e){if(e.key==='Enter')doLogin();});
if(lp)lp.addEventListener('keydown',function(e){if(e.key==='Enter')doLogin();});
if(lb)lb.addEventListener('click',function(e){e.preventDefault();doLogin();});
if(rb)rb.addEventListener('click',function(e){e.preventDefault();doRegister();});
['regLogin','regPass','regName','regEmail','regBranch','regDept','regRegion','regOblast','regCity'].forEach(function(id){
var el=document.getElementById(id);if(el)el.addEventListener('keydown',function(e){if(e.key==='Enter')doRegister();});
});
}catch(e){console.error(e)}
try{
var pd=document.getElementById('pabDate');if(pd)pd.value=new Date().toISOString().split('T')[0];
buildCategorySections();
initVioRows();
}catch(e){console.error(e)}
try{
if(localStorage.getItem('safetyAuditUser')){
currentUser=JSON.parse(localStorage.getItem('safetyAuditUser'));
var po=document.getElementById('pabObserver');if(po)po.value=currentUser.name||'';
showApp();
try{buildCategorySections()}catch(e){console.error(e)}
try{initVioRows()}catch(e){console.error(e)}
var saved=localStorage.getItem('safetyAuditUser');
if(saved){
try{
currentUser=JSON.parse(saved);
var po=document.getElementById('pabObserver');if(po)po.value=currentUser.name||'';
showApp();
}catch(e){console.error(e);localStorage.removeItem('safetyAuditUser');}
}
}catch(e){console.error(e); localStorage.removeItem('safetyAuditUser');}
}
init();