do not add an extra submit button in text browsers
authorLunar <lunar@anargeek.net>
Tue, 14 Feb 2012 21:57:35 +0000 (22:57 +0100)
committerLunar <lunar@anargeek.net>
Fri, 24 Feb 2012 18:43:01 +0000 (19:43 +0100)
Using style="display: none" for Javascript specific DOM elements leads to extra
widgets or text showing up in pure text browser. So let's use Javascript to
populate interface elements that only appear when Javascript is enabled.

public/javascripts/coquelicot.auth.imap.js
public/javascripts/coquelicot.js
views/auth/imap.haml

index c29d09a..ab53520 100644 (file)
@@ -13,3 +13,14 @@ var authentication = {
     $('#imap_password').val('');
   },
 };
+
+$(document).ready(function() {
+  $('#imap-auth-submit').remove();
+  var submit = $('<input type="submit" />');
+  submit.attr('value', 'Login');
+  submit.attr('id', 'imap-auth-submit');
+  $('#upload-authentication').append(
+    $('<div class="field" />').append(
+      $('<div class="submit" />').append(
+        submit)));
+});
index 2b17d84..da35588 100644 (file)
@@ -99,7 +99,6 @@ function authenticate() {
     width: "430px",
     closeOnClick: false
   });
-  if ( $('#jssubmit')[0] ) { $('#jssubmit').show(); }
   $('#authabout').show();
   authentication.focus();
 }
index 1c1d59f..7f20497 100644 (file)
@@ -1,6 +1,6 @@
 .field
   %label{ :for => 'imap_user' } E-mail User:
   %input.input{ :type => 'text', :id => 'imap_user', :name => 'imap_user' }
+.field
   %label{ :for => 'imap_password' } Password:
   %input.input{ :type => 'password', :id => 'imap_password', :name => 'imap_password' }
-  %input#jssubmit.submit{ :type => 'submit', :value => 'Login', :style => 'display:none' }