Remote form is been submitted as html instead of javascript on second submit

I have a remote form that is being submitted as html intead of javascript on second attempt when clicking on update or create. The form gets submitted as javascript on first attempt. The form gets submitted as html on second attempt. On third attempt it gets submitted as javascript. I want it to get submitted as javascript always. Can anyone help me out her to figure it out?

Here is my form

<%= semantic_form_for @restaurant,:remote =>true do |f| %>

<%= f.inputs do %> <%= f.input :name,:input_html => { :autocomplete =>"off"}%> <%= f.input :street %> <%= f.input :city %> <%= f.input :state %> <%= f.input :zip %> <%= f.input :country %> <%= f.input :phoneNumber, :as => :phone %>

<% end %>

  <%= f.actions do %>
  <%= f.action :submit, :as => :button %>

 <% end %>
 <% end %>

Resturant Controller->

class RestaurantsController < ApplicationController

GET /restaurants

GET /restaurants.json

def index
@restaurants = Restaurant.all

respond_to do |format|
  format.html # index.html.erb
  format.json { render json: @restaurants }
end

end

GET /restaurants/1

GET /restaurants/1.json

def show
@restaurant = Restaurant.find(params[:id])

respond_to do |format|
  format.html # show.html.erb
  format.json { render json: @restaurant }
end

end

GET /restaurants/new

GET /restaurants/new.json

def new
@restaurant = Restaurant.new

respond_to do |format|
  format.html # new.html.erb
  format.json { render json: @restaurant }
end

end

GET /restaurants/1/edit

def edit
@restaurant = Restaurant.find(params[:id])
respond_to do |format|
format.html {}
format.js {}
end

end

POST /restaurants

POST /restaurants.json

def create
@restaurant = Restaurant.new(params[:restaurant])
respond_to do |format|
@restaurant.save
format.html { render action: “new” }
format.js {}
end
end

PUT /restaurants/1

PUT /restaurants/1.json

def update
Rails.logger.fatal “In update”

@restaurant = Restaurant.find(params[:id])
respond_to do |format|
    @restaurant.update_attributes(params[:restaurant])
    format.html { render action: "edit" }
    format.js {}
end

end

DELETE /restaurants/1

DELETE /restaurants/1.json

def destroy
@restaurant = Restaurant.find(params[:id])
@restaurant.destroy

respond_to do |format|
  format.html { redirect_to restaurants_url }
  format.json { head :no_content }
end

end
end

Maybe I'm not getting this, but isn't :remote => true in
semantic_form_for to be used when you're doing AJAX? Your form is
doing a straight HTTP POST it looks like to me...

I thought default format is javascript.