[ticket/11795] Redo form elements auto-focus

Use data-focus attribute for forms to focus elements
when document is loaded instead of adding JavaScript

PHPBB3-11795
This commit is contained in:
Vjacheslav Trushkin 2013-08-16 18:20:00 +03:00
parent 235e3f5595
commit 605cd0cafb
3 changed files with 12 additions and 25 deletions

View file

@ -293,20 +293,23 @@ function apply_onkeypress_event() {
jQuery(document).ready(apply_onkeypress_event);
/**
* Adjust HTML code for IE8 and older versions
* Run onload functions
*/
(function($) {
$(document).ready(function() {
// Focus forms
$('form[data-focus]:first').each(function() {
$('#' + this.getAttribute('data-focus')).focus();
});
// Adjust HTML code for IE8 and older versions
var test = document.createElement('div'),
oldBrowser = (typeof test.style.borderRadius == 'undefined');
delete test;
if (!oldBrowser) {
return;
if (oldBrowser) {
// Fix .linkslist.bulletin lists
$('ul.linklist.bulletin li:first-child, ul.linklist.bulletin li.rightside:last-child').addClass('no-bulletin');
}
// Fix .linkslist.bulletin lists
$('ul.linklist.bulletin li:first-child, ul.linklist.bulletin li.rightside:last-child').addClass('no-bulletin');
});
})(jQuery);

View file

@ -1,14 +1,6 @@
<!-- INCLUDE overall_header.html -->
<script type="text/javascript">
// <![CDATA[
onload_functions.push(function () {
document.getElementById("<!-- IF S_ADMIN_AUTH -->{PASSWORD_CREDENTIAL}<!-- ELSE -->{USERNAME_CREDENTIAL}<!-- ENDIF -->").focus();
});
// ]]>
</script>
<form action="{S_LOGIN_ACTION}" method="post" id="login">
<form action="{S_LOGIN_ACTION}" method="post" id="login" data-focus="<!-- IF S_ADMIN_AUTH -->{PASSWORD_CREDENTIAL}<!-- ELSE -->{USERNAME_CREDENTIAL}<!-- ENDIF -->">
<div class="panel">
<div class="inner">

View file

@ -1,16 +1,8 @@
<!-- INCLUDE overall_header.html -->
<script type="text/javascript">
// <![CDATA[
onload_functions.push(function () {
document.getElementById("keywords").focus();
});
// ]]>
</script>
<h2 class="solo">{L_SEARCH}</h2>
<form method="get" action="{S_SEARCH_ACTION}">
<form method="get" action="{S_SEARCH_ACTION}" data-focus="keywords">
<div class="panel">
<div class="inner">