Browse Source

Fix #4125 : #FORMULAIRE_LOGIN accepte une option autofocus qui permet de debrayer l'autofocus actif par defaut en lui passant la valeur 0 ou non

+ supprimer le JS qui forcer le focus sur le champ, on se contente du support de l'attribut autofocus
(ca ameliore un peu #3604 aussi au passage)
pull/115/head
Cerdic 2 months ago
parent
commit
ca433d5d87
  1. 2
      prive/formulaires/login.html
  2. 5
      prive/formulaires/login.php
  3. 10
      prive/login.html

2
prive/formulaires/login.html

@ -22,7 +22,7 @@
<div class="editer editer_login obligatoire[(#ENV**{erreurs}|table_valeur{var_login}|oui)erreur]">
<label for="var_login"><:login_login2:></label>[
<span class="erreur_message">(#ENV**{erreurs}|table_valeur{var_login})</span>
]<input type='text' class='text' name='var_login' id='var_login' value="[(#ENV**{var_login})]" size='40'[(#HTML5) required='required' autofocus='autofocus'] autocapitalize="off" autocorrect="off" />[
]<input type='text' class='text' name='var_login' id='var_login' value="[(#ENV**{var_login})]" size='40'[(#HTML5) required='required' [(#ENV{_autofocus}|oui)autofocus='autofocus']] autocapitalize="off" autocorrect="off" />[
<span id="spip_logo_auteur">(#ENV*{_logo,''})</span>]
</div>
<div class="editer editer_password obligatoire[(#ENV**{erreurs}|table_valeur{password}|oui)erreur]">

5
prive/formulaires/login.php

@ -71,6 +71,10 @@ function formulaires_login_charger_dist($cible = '', $options = [], $deprecated
$login = (empty($options['login']) ? '' : $options['login']);
$prive = (empty($options['prive']) ? null : $options['prive']);
// conserver le fonctionnement historique
if (!isset($options['autofocus'])) {
$options['autofocus'] = true;
}
if (!$login) {
$login = strval(_request('var_login'));
@ -114,6 +118,7 @@ function formulaires_login_charger_dist($cible = '', $options = [], $deprecated
'_alea_actuel' => isset($row['alea_actuel']) ? $row['alea_actuel'] : '',
'_alea_futur' => isset($row['alea_futur']) ? $row['alea_futur'] : '',
'_pipeline' => 'affiche_formulaire_login', // faire passer le formulaire dans un pipe dedie pour les methodes auth
'_autofocus' => ($options['autofocus'] and $options['autofocus'] !== 'non') ? ' ' : '',
);
if ($erreur or !isset($GLOBALS['visiteur_session']['id_auteur']) or !$GLOBALS['visiteur_session']['id_auteur']) {

10
prive/login.html

@ -14,11 +14,9 @@
<link rel="stylesheet" href="[(#VAL{clear.css}|find_in_theme|direction_css)]" type="text/css" />
<link rel="stylesheet" href="[(#VAL{minipres.css}|find_in_theme|direction_css)]" type="text/css" />
#INSERT_HEAD
<script type='text/javascript'><!--
jQuery(function(){ jQuery('input#var_login').focus();
jQuery('a#spip_pass').click(function(){window.open(this.href, 'spip_pass', 'scrollbars=yes, resizable=yes, width=480, height=380'); return false;});
});
// --></script>
<script type='text/javascript'>
jQuery(function(){jQuery('a#spip_pass').click(function(){window.open(this.href, 'spip_pass', 'scrollbars=yes, resizable=yes, width=480, height=380'); return false;});});
</script>
<meta name="generator" content="SPIP[ (#SPIP_VERSION)]" />
</head>
<body class="page_login">
@ -34,7 +32,7 @@ jQuery('a#spip_pass').click(function(){window.open(this.href, 'spip_pass', 'scro
<h3 class="spip"><:login_acces_prive:></h3>
#MENU_LANG_ECRIRE
]
[(#FORMULAIRE_LOGIN{#ENV{url}|sinon{#URL_ECRIRE{accueil}}})]
<p class="retour">
[<a href="#URL_PAGE{identifiants,focus=nom_inscription}&amp;mode=(#URL_SITE_SPIP|tester_config{1comite})"><:login_sinscrire:></a> | ]

Loading…
Cancel
Save