summaryrefslogtreecommitdiffstats
path: root/template
diff options
context:
space:
mode:
authorFrédéric Buclin <LpSolit@gmail.com>2014-01-16 18:22:03 +0100
committerFrédéric Buclin <LpSolit@gmail.com>2014-01-16 18:22:03 +0100
commitd77682e0d4213e8cc502b333cbd8e34d567445a4 (patch)
treebdaaa9d7cfcf757570f968219c7d3a00ebf057d7 /template
parentbb471d076d7f08605c49860c5d3a05cc0c08839a (diff)
downloadbugzilla-d77682e0d4213e8cc502b333cbd8e34d567445a4.tar.gz
bugzilla-d77682e0d4213e8cc502b333cbd8e34d567445a4.tar.xz
Bug 888731: Bugzilla login field should use "placeholder" HTML5 attribute instead of JavaScript
r=dkl a=justdave
Diffstat (limited to 'template')
-rw-r--r--template/en/default/account/auth/login-small.html.tmpl82
1 files changed, 21 insertions, 61 deletions
diff --git a/template/en/default/account/auth/login-small.html.tmpl b/template/en/default/account/auth/login-small.html.tmpl
index 801fef81e..433925d72 100644
--- a/template/en/default/account/auth/login-small.html.tmpl
+++ b/template/en/default/account/auth/login-small.html.tmpl
@@ -25,74 +25,29 @@
onclick="return show_mini_login_form('[% qs_suffix %]')">Log In</a>
[% Hook.process('additional_methods') %]
-
- <form action="[% login_target FILTER html %]" method="POST"
+
+ <form action="[% login_target FILTER html %]" method="POST"
class="mini_login bz_default_hidden"
- id="mini_login[% qs_suffix FILTER html %]"
- onsubmit="return check_mini_login_fields( '[% qs_suffix FILTER html %]' );"
- >
- <input id="Bugzilla_login[% qs_suffix FILTER html %]"
- class="bz_login"
- name="Bugzilla_login"
- title="Login"
- onfocus="mini_login_on_focus('[% qs_suffix FILTER js %]')"
- >
- <input class="bz_password"
- id="Bugzilla_password[% qs_suffix FILTER html %]"
- name="Bugzilla_password"
- type="password"
- title="Password"
- >
- <input class="bz_password bz_default_hidden bz_mini_login_help" type="text"
- id="Bugzilla_password_dummy[% qs_suffix %]" value="password"
- title="Password"
- onfocus="mini_login_on_focus('[% qs_suffix FILTER js %]')"
- >
+ id="mini_login[% qs_suffix FILTER html %]">
+ <input id="Bugzilla_login[% qs_suffix FILTER html %]" required
+ name="Bugzilla_login" class="bz_login"
+ [% IF Param('emailsuffix') %]
+ placeholder="Login"
+ [% ELSE %]
+ type="email" placeholder="Email Address"
+ [% END %]>
+ <input class="bz_password" name="Bugzilla_password" type="password"
+ id="Bugzilla_password[% qs_suffix FILTER html %]" required
+ placeholder="Password">
[% IF Param('rememberlogin') == 'defaulton' ||
- Param('rememberlogin') == 'defaultoff'
- %]
+ Param('rememberlogin') == 'defaultoff' %]
<input type="checkbox" id="Bugzilla_remember[% qs_suffix %]"
name="Bugzilla_remember" value="on" class="bz_remember"
- [%+ "checked" IF Param('rememberlogin') == "defaulton" %]>
+ [%+ "checked" IF Param('rememberlogin') == "defaulton" %]>
<label for="Bugzilla_remember[% qs_suffix %]">Remember</label>
[% END %]
<input type="submit" name="GoAheadAndLogIn" value="Log in"
id="log_in[% qs_suffix %]">
- <script type="text/javascript">
- mini_login_constants = {
- "login" : "login",
- "warning" : "You must set the login and password before logging in."
- };
- [%# We need this event to fire after autocomplete, because it does
- # something different depending on whether or not there's already
- # data in the login and password box.
- # However, autocomplete happens at all sorts of different times in
- # different browsers (before or after onDOMReady, before or after
- # window.onload, in almost all combinations you can imagine).
- # The only good solution I found is to time the event 200
- # milliseconds after window.onload for WebKit (doing it immediately
- # at onload works in Chrome but not in Safari, but I can't detect
- # them separately using YUI), and right after onDOMReady in Gecko.
- # The WebKit solution is also fairly guaranteed to work on any
- # browser (it's just strange, since the fields only populate 200 ms
- # after the page loads), so it's the default. IE doesn't even
- # recognize our forms as login forms, so I made it use the Gecko
- # method also (since it's nicer visually). Opera never autocompletes
- # forms without user interaction, so it also uses the Gecko method.
- #%]
- if (YAHOO.env.ua.gecko || YAHOO.env.ua.ie || YAHOO.env.ua.opera) {
- YAHOO.util.Event.onDOMReady(function() {
- init_mini_login_form('[% qs_suffix FILTER html %]');
- });
- }
- else {
- YAHOO.util.Event.on(window, 'load', function () {
- window.setTimeout(function() {
- init_mini_login_form('[% qs_suffix FILTER html %]');
- }, 200);
- });
- }
- </script>
<a href="#" onclick="return hide_mini_login_form('[% qs_suffix %]')">[x]</a>
</form>
</li>
@@ -103,7 +58,12 @@
<form action="token.cgi" method="post" id="forgot_form[% qs_suffix %]"
class="mini_forgot bz_default_hidden">
<label for="login[% qs_suffix FILTER html %]">Login:</label>
- <input type="text" name="loginname" size="20" id="login[% qs_suffix FILTER html %]">
+ <input name="loginname" size="20" id="login[% qs_suffix FILTER html %]" required
+ [% IF Param('emailsuffix') %]
+ placeholder="Your Login"
+ [% ELSE %]
+ type="email" placeholder="Your Email Address"
+ [% END %]>
<input id="forgot_button[% qs_suffix %]" value="Reset Password"
type="submit">
<input type="hidden" name="a" value="reqpw">