Skip to content

Instantly share code, notes, and snippets.

Created January 29, 2015 22:46
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save anonymous/89e0f27e47b7eedd3e04 to your computer and use it in GitHub Desktop.
Save anonymous/89e0f27e47b7eedd3e04 to your computer and use it in GitHub Desktop.
<div class="row">
<div class="wide-block contact-form" id="message_form">
<!-- url: 'https://www.salesforce.com/servlet/servlet.WebToLead?encoding=UTF-8', method: :post-->
<div id="spinner" class="spinner" style="display:none;">
<%= image_tag('ajax-loader.gif') %>
</div>
<%= form_for(@message ||= Alchemy::Message.new, :remote => true) do |form| %>
<%= form.hidden_field :contact_form_id, :value => element.id %>
<%#= form.hidden_field :oid, :value => '00D20000000DB0V'%>
<%#= form.hidden_field :retURL, :value => 'http://'%>
<div class="contact-text-field contact-name">
<%= form.label :name %>
<%= form.text_field :name %>
</div>
<div class="contact-text-field contact-company">
<%= form.label :company %>
<%= form.text_field :company %>
</div>
<div class="contact-text-field contact-email">
<%= form.label :email %>
<%= form.text_field :email %>
</div>
<div class="contact-text-field contact-phone">
<%= form.label :phone %>
<%= form.text_field :phone %>
</div>
<div class="contact-text-area contact-message">
<%= form.label :message %>
<%= form.text_area :message %>
</div>
<div class="contact-action">
<%= form.submit :submit, :class=>"btn btn-primary", :value=>"Contact Us", id: 'submit'%>
</div>
<%- end -%>
</div>
<div class="wide-block" id="success_message" style="display:none;">
<h2>Thanks for contacting us we will be in contact shortly</h2>
</div>
</div>
$(document).ready(function () {
$("#submit").on("click", function () {
$("#spinner").show();
$.ajax({
type: 'POST',
url: '/messages',
dataType: "json",
data: {
message: {
contact_form_id: $('#message_contact_form_id').val(),
name: $('#message_name').val(),
success_page: $('#message_success_page').val(),
company: $('#message_company').val(),
email: $('#message_email').val(),
phone: $('#message_phone').val(),
message: $('#message_message').val()
}
},
success: function (data, e) {
$('#message_form').hide("slide", { direction: "left" }, 1000);
$('#success_message').show("slide", { direction: "right"}, 1000)
e.preventDefault()
}
});
});
});
def create #:nodoc:
@message = Message.new(params['message'])
@message.ip = request.remote_ip
@element = Element.find_by_id(@message.contact_form_id)
if @element.nil?
raise ActiveRecord::RecordNotFound, "Contact form id not found. Please pass the :contact_form_id in a hidden field. Example: <%= f.hidden_field :contact_form_id, :value => element.id %>"
end
@page = @element.page
@root_page = @page.get_language_root
if @message.valid?
Messages.contact_form_mail(@message, mail_to, mail_from, subject).deliver
render :json => @message
else
render :template => 'alchemy/pages/show', :layout => layout_for_page
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment