2015-06-11 18:16:23 +08:00
|
|
|
|
<style type="text/css">
|
|
|
|
|
div.ke-toolbar{display:none;width:400px;border:none;background:none;padding:0px 0px;}
|
|
|
|
|
span.ke-toolbar-icon{line-height:26px;font-size:14px;padding-left:26px;}
|
|
|
|
|
span.ke-toolbar-icon-url{background-image:url( /images/public_icon.png )}
|
|
|
|
|
div.ke-toolbar .ke-outline{padding:0px 0px;line-height:26px;font-size:14px;}
|
|
|
|
|
span.ke-icon-emoticons{background-position:0px -671px;width:50px;height:26px;}
|
|
|
|
|
span.ke-icon-emoticons:hover{background-position:-79px -671px;width:50px;height:26px;}
|
|
|
|
|
div.ke-toolbar .ke-outline{border:none;}
|
|
|
|
|
|
|
|
|
|
div.respond-form .reply_btn{margin-left:565px;margin-top:5px;}
|
2015-08-29 17:54:56 +08:00
|
|
|
|
div.recall_con{width:570px;}
|
2015-06-11 18:16:23 +08:00
|
|
|
|
div.recall_con .reply_btn{margin-left:555px;margin-top:5px;}
|
|
|
|
|
</style>
|
2015-12-06 15:03:36 +08:00
|
|
|
|
<%= content_for(:header_tags) do %>
|
|
|
|
|
<%= import_ke(enable_at: false, prettify: false, init_activity: false) %>
|
|
|
|
|
<% end %>
|
|
|
|
|
|
2014-11-05 10:41:34 +08:00
|
|
|
|
<div class="dis">
|
|
|
|
|
<div class="msg_box" id='leave-message'>
|
|
|
|
|
<% reply_allow = JournalsForMessage.create_by_user? User.current %>
|
|
|
|
|
|
|
|
|
|
<h3><%= l(:label_user_response) %>(<span id="jour_count"><%= @obj_count%></span>)</h3>
|
|
|
|
|
|
|
|
|
|
<%= render :partial => 'words/new', :locals => {:user => @user, :sta => @state} %>
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
<div id="history">
|
|
|
|
|
<%= render :partial => 'history',:locals => { :contest => @contest, :journals => @jour, :state => false} %>
|
|
|
|
|
</div>
|
|
|
|
|
<ul class="wlist"><%= pagination_links_full @obj_pages, @obj_count, :per_page_links => false, :remote => false, :flag => true%></ul>
|
|
|
|
|
</div>
|
2014-11-12 15:09:39 +08:00
|
|
|
|
<script>
|
|
|
|
|
var W3CDOM = document.createElement && document.getElementsByTagName;
|
|
|
|
|
|
|
|
|
|
window.onload = setMaxLength;
|
|
|
|
|
|
|
|
|
|
function setMaxLength() {
|
|
|
|
|
if (!W3CDOM) return;
|
|
|
|
|
var textareas = document.getElementsByTagName('textarea');
|
|
|
|
|
for (var i=0;i<textareas.length;i++) {
|
|
|
|
|
var textarea = textareas[i];
|
|
|
|
|
setMaxLengthItem(textareas[i]);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
function setMaxLengthItem(textarea){
|
|
|
|
|
if (textarea.getAttribute('maxlength')) {
|
|
|
|
|
var counter = document.createElement('div');
|
|
|
|
|
counter.className = 'counter';
|
|
|
|
|
var counterClone = counter.cloneNode(true);
|
|
|
|
|
counterClone.innerHTML = '<span>0</span>/'+textarea.getAttribute('maxlength');
|
|
|
|
|
textarea.parentNode.insertBefore(counterClone,textarea.nextSibling);
|
|
|
|
|
textarea.relatedElement = counterClone.getElementsByTagName('span')[0];
|
|
|
|
|
textarea.onkeyup = textarea.onchange = checkMaxLength;
|
|
|
|
|
textarea.onkeyup();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function checkMaxLength() {
|
|
|
|
|
var maxLength = this.getAttribute('maxlength');
|
|
|
|
|
var currentLength = this.value.length;
|
|
|
|
|
if (currentLength > maxLength)
|
|
|
|
|
this.relatedElement.className = 'toomuch';
|
|
|
|
|
else
|
|
|
|
|
this.relatedElement.className = '';
|
|
|
|
|
this.relatedElement.firstChild.nodeValue = currentLength;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
</script>
|
2015-06-11 18:16:23 +08:00
|
|
|
|
|
|
|
|
|
<div style="display:none;"><a href="#" id="nhjump"></a></div>
|
|
|
|
|
<script type="text/javascript">
|
|
|
|
|
$(function(){
|
2015-06-12 16:31:29 +08:00
|
|
|
|
|
2015-06-11 18:16:23 +08:00
|
|
|
|
function init_editor(params){
|
2015-06-17 15:42:52 +08:00
|
|
|
|
params.textarea.removeAttr('placeholder');
|
2015-06-11 18:16:23 +08:00
|
|
|
|
var editor = params.kindutil.create(params.textarea, {
|
|
|
|
|
resizeType : 1,minWidth:"1px",width:"100%",height:"150px",
|
|
|
|
|
items:['emoticons'],
|
|
|
|
|
afterChange:function(){//按键事件
|
|
|
|
|
nh_check_field({content:this,contentmsg:params.contentmsg,textarea:params.textarea});
|
|
|
|
|
},
|
|
|
|
|
afterCreate:function(){
|
|
|
|
|
var toolbar = $("div[class='ke-toolbar']",params.div_form);
|
|
|
|
|
$(".ke-outline>.ke-toolbar-icon",toolbar).append('表情');
|
|
|
|
|
params.toolbar_container.append(toolbar);
|
|
|
|
|
}
|
|
|
|
|
}).loadPlugin('paste');
|
|
|
|
|
return editor;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function nh_check_field(params){
|
|
|
|
|
var result=true;
|
|
|
|
|
if(params.content!=undefined){
|
|
|
|
|
if(params.content.isEmpty()){
|
|
|
|
|
result=false;
|
|
|
|
|
}
|
|
|
|
|
if(params.content.html()!=params.textarea.html() || params.issubmit==true){
|
|
|
|
|
params.textarea.html(params.content.html());
|
|
|
|
|
params.content.sync();
|
|
|
|
|
if(params.content.isEmpty()){
|
|
|
|
|
params.contentmsg.html('内容不能为空');
|
|
|
|
|
params.contentmsg.css({color:'#ff0000'});
|
|
|
|
|
}else{
|
|
|
|
|
params.contentmsg.html('填写正确');
|
|
|
|
|
params.contentmsg.css({color:'#008000'});
|
|
|
|
|
}
|
|
|
|
|
params.contentmsg.show();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return result;
|
|
|
|
|
}
|
|
|
|
|
function init_form(params){
|
|
|
|
|
// var flag = false;
|
|
|
|
|
// if(params.form.attr('data-remote') != undefined ){
|
|
|
|
|
// flag = true
|
|
|
|
|
// }
|
|
|
|
|
// params.form[0].onsubmit = function(){
|
|
|
|
|
// if(flag){
|
|
|
|
|
// $(this).removeAttr('data-remote');//不这么搞return false没用 花擦花擦
|
|
|
|
|
// }
|
|
|
|
|
// var is_checked = nh_check_field({
|
|
|
|
|
// issubmit:true,
|
|
|
|
|
// content:params.editor,
|
|
|
|
|
// contentmsg:params.contentmsg,
|
|
|
|
|
// textarea:params.textarea
|
|
|
|
|
// });
|
|
|
|
|
// if(is_checked){
|
|
|
|
|
// if(flag){
|
|
|
|
|
// alert('add')
|
|
|
|
|
// $(this).attr('data-remote','true');
|
|
|
|
|
// }
|
|
|
|
|
// alert('ok')
|
|
|
|
|
// return true;
|
|
|
|
|
// }
|
|
|
|
|
// return false;
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
params.form.submit(function(){
|
|
|
|
|
var flag = false;
|
|
|
|
|
if(params.form.attr('data-remote') != undefined ){
|
|
|
|
|
flag = true
|
|
|
|
|
}
|
|
|
|
|
var is_checked = nh_check_field({
|
|
|
|
|
issubmit:true,
|
|
|
|
|
content:params.editor,
|
|
|
|
|
contentmsg:params.contentmsg,
|
|
|
|
|
textarea:params.textarea
|
|
|
|
|
});
|
|
|
|
|
if(is_checked){
|
|
|
|
|
if(flag){
|
|
|
|
|
return true;
|
|
|
|
|
}else{
|
|
|
|
|
$(this)[0].submit();
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
// return true; //这个涛哥的firefox不能提交
|
|
|
|
|
//$(this).trigger('submit'); //这个虽然能提交 但是他是个死循环
|
|
|
|
|
//$(this)[0].submit(); //用这个form的data-remote='true'没效果了
|
|
|
|
|
//肿么破阿 我滴个神 实在不行就用$.ajax()算了
|
|
|
|
|
}
|
|
|
|
|
return false;
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
function nh_reset_form(params){
|
|
|
|
|
params.form[0].reset();
|
|
|
|
|
params.textarea.empty();
|
|
|
|
|
if(params.editor != undefined){
|
|
|
|
|
params.editor.html(params.textarea.html());
|
|
|
|
|
}
|
|
|
|
|
params.contentmsg.hide();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
KindEditor.ready(function(K){
|
|
|
|
|
$("a[nhname='reply_btn']").live('click',function(){
|
|
|
|
|
var params = {};
|
|
|
|
|
params.kindutil = K;
|
|
|
|
|
if($(this).parent('span')==undefined || $(this).parent('span').length==0){
|
|
|
|
|
params.container = $(this).parent('div').parent('div');
|
|
|
|
|
}else{
|
|
|
|
|
params.container = $(this).parent('span').parent('div').parent('div');
|
|
|
|
|
}
|
|
|
|
|
params.div_form = $(">.respond-form",params.container);
|
|
|
|
|
params.form = $("form",params.div_form);
|
|
|
|
|
params.textarea = $("textarea[name='user_notes']",params.div_form);
|
2015-06-12 15:56:28 +08:00
|
|
|
|
params.contentmsg = $("p[nhname='contentmsg']",params.div_form);
|
|
|
|
|
params.toolbar_container = $("div[nhname='toolbar_container']",params.div_form);
|
2015-06-11 18:16:23 +08:00
|
|
|
|
params.cancel_btn = $("input[nhname='cancel_btn']",params.div_form);
|
|
|
|
|
if(params.textarea.data('init') == undefined){
|
|
|
|
|
params.editor = init_editor(params);
|
|
|
|
|
init_form(params);
|
|
|
|
|
params.cancel_btn.click(function(){
|
|
|
|
|
nh_reset_form(params);
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
params.cancel_btn.click();
|
2015-06-12 16:31:29 +08:00
|
|
|
|
toggleAndSettingWordsVal(params.div_form, params.textarea);
|
2015-06-11 18:16:23 +08:00
|
|
|
|
setTimeout(function(){
|
|
|
|
|
if(!params.div_form.is(':hidden')){
|
2015-06-12 10:52:15 +08:00
|
|
|
|
params.textarea.show();
|
|
|
|
|
params.textarea.focus();
|
|
|
|
|
params.textarea.hide();
|
|
|
|
|
// $("#nhjump").attr('href','#'+params.div_form.attr('id'));
|
|
|
|
|
// $("#nhjump")[0].click();
|
2015-06-11 18:16:23 +08:00
|
|
|
|
}
|
|
|
|
|
},300);
|
|
|
|
|
params.textarea.data('init',1);
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
$("div[nhname='new_message']").each(function(){
|
|
|
|
|
var params = {};
|
|
|
|
|
params.kindutil = K;
|
|
|
|
|
params.div_form = $(this);
|
|
|
|
|
params.form = $("form",params.div_form);
|
|
|
|
|
if(params.form==undefined || params.form.length==0){
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
params.textarea = $("textarea[nhname='new_message_textarea']",params.div_form);
|
2015-06-12 16:31:29 +08:00
|
|
|
|
params.contentmsg = $("p[nhname='contentmsg']",params.div_form);
|
|
|
|
|
params.toolbar_container = $("div[nhname='toolbar_container']",params.div_form);
|
2015-06-12 17:26:40 +08:00
|
|
|
|
params.cancel_btn = $("#new_message_cancel_btn");
|
2015-06-11 18:16:23 +08:00
|
|
|
|
if(params.textarea.data('init') == undefined){
|
|
|
|
|
params.editor = init_editor(params);
|
|
|
|
|
init_form(params);
|
2015-06-12 17:26:40 +08:00
|
|
|
|
params.cancel_btn.click(function(){
|
|
|
|
|
nh_reset_form(params);
|
|
|
|
|
});
|
2015-06-11 18:16:23 +08:00
|
|
|
|
// $("a[nhname='cancel_btn']",params.div_form).click(function(){
|
|
|
|
|
// nh_reset_form(params);
|
|
|
|
|
// });
|
|
|
|
|
params.textarea.data('init',1);
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
</script>
|