2

Is this correct to send an ajax request? This code isn't working, what do I need to change here? Any better way to send an ajax form?

<%=  form_tag item_create_path, :remote => true, :id => 'create_item'  do %>
  <p>
   <b> <%= label_tag :"Name" %></b> <%= text_field_tag :name, nil, :maxlength => 40, :size => 70 %>
   <b> <%= label_tag :"Date" %></b> <%= text_field_tag :date, nil, :maxlength => 10, :size => 10, :value => Time.now.utc.strftime("%Y-%m-%d") %>
   <b> <%= label_tag :"Time" %></b> <%= text_field_tag :time, nil, :maxlength => 10, :size => 10, :value => Time.now.localtime.strftime("%H:%M:%S") %>
   </p>
  <p>
   <b> <%= label_tag :Description %></b> <%= text_field_tag :description, nil, :maxlength => 50, :size => 50 %>
  </p>

<%= hidden_field_tag :type, nil, :value => "new" %>
<p class="button"><%= submit_tag "  Create  ",:onclick=>"javascript:submitForm()" %></p>
<% end %>


function submitForm() {
    $.ajax({type:'POST', url: '/item/create', data:$('#create_item').serialize(), success: function(response) {
        $('#create_item').find('#item').html(response);
    }});

    return false;
}

1 Answer 1

2

Use this it will sure work

    <%= form_for(:customer, :url => {:controller => "subscribers", :action => "change_password"}, :html => {:id => 'edit_password_form', :method => :get, :onsubmit => "return false;"}) do |f| %>
      <%= hidden_field_tag "ids", :id => "ids"%>
      <div class="ports-fields">
        <div class="pass">
          <label style="margin-top:4px;">Password</label> 
          <%= f.password_field :password, :class=> 'fields', :placeholder => 'Password' %>
        </div>
        <div class="pass">
           <label>Confirm Password</label> 
           <%= f.password_field :password_confirmation, :class=> 'fields', :placeholder => 'Password Confirmation' %>
        </div>
        <div class="change-pass-btn-submit"> 
           <%= submit_tag "CHANGE PASSWORD", :id => "edit_password_btn" %>
        </div>
        <!--modify ports ends-->
      </div>
    <% end %>

and jquery code for this

   <script type="text/javascript">
       $("#edit_port_btn").click(function() {
            var container = $("#info");
            $("#edit_port_form").submit(function() {
                $(this).unbind('submit').ajaxSubmit({
                    success: function(data) {
                        container.html(data);
                        hudMsg('success', 'Modify ports successfully.');
                    }
                })
            }); 
       });
   </script>

And enjoyy....

Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.