- <%= f.label :name, (_('Name') + content_tag(:abbr, "*", class: "required")).html_safe %>
- <% if user_signed_in? then %>
- <%= f.text_field :name, value: current_user.name(false) %>
- <% else %>
- <%= f.text_field :name %>
- <% end %>
- <% if f.object.errors[:name].present? %>
-
- <%= f.label :email, (_('Email') + content_tag(:abbr, "*", class: "required")).html_safe %>
- <% if user_signed_in? then %>
- <%= f.email_field :email, value: current_user.email %>
- <% else %>
- <%= f.email_field :email %>
- <% end %>
- <% if f.object.errors[:email].present? %>
-
<%= f.object.errors[:email].join(_(" and ")) %>
- <% end %>
+
+
+ />
+
<% if ContactUs.require_subject %>
-
- <%= f.label :subject, (_('Subject') + content_tag(:abbr, "*", class: "required")).html_safe %>
- <%= f.text_field :subject %>
- <% if f.object.errors[:subject].present? %>
-
<%= f.object.errors[:subject].join(_(" and ")) %>
- <% end %>
+
+
+
<% end %>
-
- <%= f.label :message, (_('Message') + content_tag(:abbr, "*", class: "required")).html_safe %>
- <%= f.text_area :message, rows: 10, class: "input-large" %>
- <% if f.object.errors[:message].present? %>
-
<%= f.object.errors[:message].join(_(" and ")) %>
- <% end %>
+
+
+
<% if !user_signed_in? then %>
-
- <%= t('helpers.security_check') %>
- <%= recaptcha_tags %>
+
<% end %>
-
+
<%= render partial: 'shared/accessible_submit_button',
locals: {id: 'create_contact_submit',
diff --git a/lib/assets/javascripts/contacts/new_contact.js b/lib/assets/javascripts/contacts/new_contact.js
index 1b692e2..fe8350a 100644
--- a/lib/assets/javascripts/contacts/new_contact.js
+++ b/lib/assets/javascripts/contacts/new_contact.js
@@ -3,12 +3,23 @@
};
$(document).ready(function(){
+ // Run the input validations when the focus changes
+ $("#contact_us_contact_email").blur(function(){
+ toggleInputError(this, validateEmail($(this).val().trim()));
+ });
+
$("input[type='text'], input[type='email'], textarea").change(function(e){
var enable = ($("#contact_us_contact_name").val().trim().length > 0 &&
- $("#contact_us_contact_email").val().trim().length > 0 &&
+ validateEmail($("#contact_us_contact_email").val().trim()) != '' &&
$("#contact_us_contact_subject").val().trim().length > 0 &&
$("#contact_us_contact_message").val().trim().length > 0);
+ // Check the recaptcha status
+ if($("#recaptcha-anchor")){
+ if("#recaptcha-anchor".prop('aria-checked') != 'true'){
+ enable = false;
+ }
+ }
$("#create_contact_submit").attr('aria-disabled', !enable);
});
});
\ No newline at end of file
diff --git a/lib/assets/stylesheets/roadmap-form.scss b/lib/assets/stylesheets/roadmap-form.scss
index 8292e40..5bcc0ce 100644
--- a/lib/assets/stylesheets/roadmap-form.scss
+++ b/lib/assets/stylesheets/roadmap-form.scss
@@ -74,6 +74,9 @@
vertical-align: middle;
}
+ label.align-top {
+ vertical-align: top;
+ }
input.form-submit,
button.form-cancel {
font-size: 10pt;
@@ -127,7 +130,7 @@
.fixed-width-large {
width: 550px;
}
-
+
/* Accessible Form Buttons */
input.form-submit {
clear: both;
diff --git a/lib/assets/stylesheets/roadmap-hacks.scss b/lib/assets/stylesheets/roadmap-hacks.scss
index dac2b63..8f6f45c 100644
--- a/lib/assets/stylesheets/roadmap-hacks.scss
+++ b/lib/assets/stylesheets/roadmap-hacks.scss
@@ -53,4 +53,7 @@
}
select {
height: 30px;
+}
+textarea {
+ height: auto;
}
\ No newline at end of file