photo description with ajax request

This commit is contained in:
mishudark 2010-09-18 12:33:22 -05:00
parent b7bc4b8615
commit c46ad0d7fa
3 changed files with 66 additions and 4 deletions

View file

@ -16,6 +16,7 @@
= form_for @photo do |p|
= p.text_field :caption, :value => @photo.caption
= p.submit
%div{:class => 'clear'}
#content_bottom
.back

View file

@ -19,15 +19,43 @@
}
});
//asign a flag to determine if textarea has focus
$(document).ready(function(){
//add a clas to verify if a textarea has focus
$("textarea").live('focus',function(){
$(this).addClass("hasfocus");
});
$("textarea").live('blur',function(){
$(this).removeClass("hasfocus");
});
});
//show form to add description
$(".edit-desc").click(function(){
$(".edit_photo").toggle();
//$(".caption").toggle();
});
//Add a description with ajax request
$("#photo_submit").click(function(evenet){
event.preventDefault();
var method = $(".edit_photo").attr("method");
var url = $(".edit_photo").attr("action");
var data = $(".edit_photo").serialize();
$(".description").text($("#photo_caption").val());
//$(".caption").toggle();
$(".edit_photo").toggle();
$.ajax({
type: method,
url: url,
data: data,
success: function(response){
$("#add-description").remove();
}
});
});
});//end document ready
= content_for :page_title do
= link_to "◂ #{@photo.album.name}", @photo.album
@ -54,7 +82,21 @@
#show_photo
= linked_scaled_photo @photo, @album
.caption
= @photo.caption
-if current_user.owns? @album
-if @photo.caption and @photo.caption != ""
= link_to 'Edit','javascript:void(0)', :id => "edit-desc", :class => "edit-desc"
.description
= @photo.caption
-if current_user.owns? @album
%div{:class => 'clear'}
-if !@photo.caption or @photo.caption == ""
= link_to 'Add a description','javascript:void(0)', :id => "add-description", :class => "edit-desc"
= form_for @photo do |p|
= p.text_field :caption, :value => @photo.caption
= p.submit
%div{:class => 'clear'}
#content_bottom
.back

View file

@ -610,6 +610,25 @@ h1.big_text {
#fancybox-close:hover {
background-color: transparent; }
.edit_photo{
display:none;}
#photo_caption{
width:100%;
margin:auto;}
.caption .description{
text-align:left;
margin-left:3em;
display:block
width:90%;}
.caption a{
float:left;
}
#add-description{
width:100%;}
.caption, .edit_photo{
margin:auto;
width:70%;}
#photo_submit{
float:right;}
.clear{
clear:both;}