论坛发帖 采用ajax提交。这样子网络不好的情况就不会丢失数据了。

This commit is contained in:
lizanle 2015-12-01 17:23:14 +08:00
parent d4823e7c8b
commit 35b543cd22
6 changed files with 43 additions and 5 deletions

View File

@ -73,6 +73,7 @@ class MemosController < ApplicationController
end
end
#end
format.js
format.html { redirect_to back_memo_url, notice: "#{l :label_memo_create_succ}" }
format.json { render json: @memo, status: :created, location: @memo }
else
@ -152,6 +153,7 @@ class MemosController < ApplicationController
end
def update
@flag = false
respond_to do |format|
if( #@memo.update_column(:subject, params[:memo][:subject]) &&
@memo.update_column(:content, params[:memo][:content]) &&
@ -159,10 +161,12 @@ class MemosController < ApplicationController
@memo.update_column(:lock, params[:memo][:lock]) &&
@memo.update_column(:subject,params[:memo][:subject]))
@memo.save_attachments(params[:attachments] || (params[:memo] && params[:memo][:uploads]))
@memo.save
@flag = @memo.save
# @memo.root.update_attribute(:updated_at, @memo.updated_at)
format.js
format.html {redirect_to back_memo_url, notice: "#{l :label_memo_create_succ}"}
else
format.js
format.html { render action: "edit" }
format.json { render json: @person.errors, status: :unprocessable_entity }
end

View File

@ -3,7 +3,7 @@
<div class="postRightContainer">
<div id="create_memo_div" style="display: none">
<div id="error" class="red fl mb10" style="display: none">error</div>
<%= labelled_form_for(@memo, :url => forum_memos_path(@forum)) do |f| %>
<%= labelled_form_for(@memo, :url => forum_memos_path(@forum),:remote=>true) do |f| %>
<div>
<textarea type="text" name="memo[subject]" id="memo_subject" maxlength="50" onblur="check_memo_name();" onfocus="$('#error').hide();" onmouseover="this.style.borderColor='#d9d9d9'" class="postDetailInput" placeholder="输入帖子标题" ></textarea>
<script>
@ -112,7 +112,21 @@
}
if($("textarea[name='memo[subject]']").val().trim() != "" && !memo_content.isEmpty() ){
memo_content.sync();
$("#new_memo").submit();
$.ajax({
url:'/forums/'+'<%= @forum.id.to_s%>'+'/memos',
type:'post',
data:{
'memo[content]':$("#memo_content").val(),
'memo[subject]':$("#memo_subject").val()
},
success:function(data){
},
error:function(){
alert('请检查当前网络连接')
}
});
//$("#new_memo").submit();
}else if($("textarea[name='memo[subject]']").val().trim() == "" && memo_content.isEmpty()){
$("#error").html("主题和内容不能为空").show();
}

View File

@ -9,7 +9,7 @@
<%= favicon %>
<%= stylesheet_link_tag 'jquery/jquery-ui-1.9.2','application','prettify', 'nyan','leftside', :media => 'all' %>
<%= stylesheet_link_tag 'rtl', :media => 'all' if l(:direction) == 'rtl' %>
<%= javascript_heads %>
<%= javascript_include_tag('jquery-1.8.3-ui-1.9.2-ujs-2.0.3', 'application', 'jquery.colorbox-min') %>
<%= javascript_include_tag "/assets/kindeditor/kindeditor",'/assets/kindeditor/pasteimg' ,'prettify' %>
<%= heads_for_theme %>

View File

@ -0,0 +1 @@
window.location.href='<%= forum_memo_path(:forum_id=>@memo.forum_id,:id=>@memo.id ) %>'

View File

@ -13,7 +13,21 @@
return false;
}
memo_content.sync();
$("#edit_memo").submit();
$.ajax({
url:' /forums/'+'<%= @memo.forum_id.to_s %>'+'/memos/<%= @memo.id.to_s%>',
type:'put',
data:{
'memo[subject]':$("#memo_subject").val(),
'memo[content]':$("#memo_content").val()
},
success:function(data){
},
error:function(){
alert('请检查当前网络连接')
}
});
//$("#edit_memo").submit();
}else if($("textarea[name='memo[subject]']").val().trim() == "" && !memo_content.isEmpty() ){
$("#error").html("主题不能为空").show();
}else if($("textarea[name='memo[subject]']").val().trim() != "" && memo_content.isEmpty()){

View File

@ -0,0 +1,5 @@
<% if @flag%>
window.location.href='<%= forum_memo_path(:forum_id=>@memo.forum_id,:id=>@memo.id ) %>'
<%else%>
$("#error").html('内容填写存在错误');
<% end %>