Edição rápida na mensagem não funciona...
4 participantes
Fórum dos Fóruns :: Ajuda e atendimento ao utilizador :: Questões sobre códigos :: Questões resolvidas sobre códigos Javascript e jQuery
Página 1 de 1
Edição rápida na mensagem não funciona...
Olá pessoal!
A Nikka fez um tutorial de como colocar a função de editar rapidamente uma mensagem...
Bem, o problema é que simplesmente não funciona! Você clica em "Salvar alterações" e depois atualiza a página, a sua resposta continuará da forma original, sem edições... Como que resolve isso?
Esse é o link do tutorial.
Flw.
A Nikka fez um tutorial de como colocar a função de editar rapidamente uma mensagem...
Bem, o problema é que simplesmente não funciona! Você clica em "Salvar alterações" e depois atualiza a página, a sua resposta continuará da forma original, sem edições... Como que resolve isso?
Esse é o link do tutorial.
Flw.
Última edição por Sonic_BR em 29.10.14 23:02, editado 1 vez(es)
Re: Edição rápida na mensagem não funciona...
Bom dia!
Para mim, em meu fórum de testes funciona perfeitamente:
Você já tentou remover todos os seus scripts e manter apenas este do tutorial?
Até mais!
Para mim, em meu fórum de testes funciona perfeitamente:
Você já tentou remover todos os seus scripts e manter apenas este do tutorial?
Até mais!
Re: Edição rápida na mensagem não funciona...
Puts, é porque são 7 scripts, sem contar esse da edição rápida, aí tirar todos e colocar tudo de novo dá trabalho, ehuaehau!
Bem, fazer o que né, eu vou tentar... Outra coisa, tem como você editar o script e colocar uma mensagem de "Enviando"? Assim fica mais fácil ainda saber se a mensagem foi editada ou não... (ou eu vou ter que criar outro tópico só pra pedir isso?)
EDIT:
Realmente, não funciona. Não é conflito com javascripts, desativei todos e ainda continua não funcionando... E não é só eu, os outros membros também não conseguem usar...
Bem, fazer o que né, eu vou tentar... Outra coisa, tem como você editar o script e colocar uma mensagem de "Enviando"? Assim fica mais fácil ainda saber se a mensagem foi editada ou não... (ou eu vou ter que criar outro tópico só pra pedir isso?)
EDIT:
Realmente, não funciona. Não é conflito com javascripts, desativei todos e ainda continua não funcionando... E não é só eu, os outros membros também não conseguem usar...
Re: Edição rápida na mensagem não funciona...
Boa noite!
Desculpe, mas a tal mensagem que pede eu não sei como fazê-la. Para já, deixe o código mencionado ativado no fórum para que eu possa ver o que há de errado.
Até mais!
Desculpe, mas a tal mensagem que pede eu não sei como fazê-la. Para já, deixe o código mencionado ativado no fórum para que eu possa ver o que há de errado.
Até mais!
Re: Edição rápida na mensagem não funciona...
Bem, caso você queira averiguar melhor o problema, criei um usuário de testes:
Login: usertest
Senha: usertest123
Login: usertest
Senha: usertest123
Re: Edição rápida na mensagem não funciona...
@Shek, deixe-me explicar o porque você acha que funciona, e ele diz que não:
Quando clicamos em 'Salvar' no editor, ele salva apenas os Cookies da página atual, se der F5, verá que a mensagem não mudou. Infelizmente o JScript foi falho nesse ponto do ajax.
@Sonic:
Não faço a mínima ideia de onde o JScript errou, então, estou tentando recriar outro aqui, por hora está assim:
Se quiser esperar um dia e meio +/-, ficará semelhante a esse do tutorial.
Até mais. :$
Quando clicamos em 'Salvar' no editor, ele salva apenas os Cookies da página atual, se der F5, verá que a mensagem não mudou. Infelizmente o JScript foi falho nesse ponto do ajax.
@Sonic:
Não faço a mínima ideia de onde o JScript errou, então, estou tentando recriar outro aqui, por hora está assim:
- Código:
$(function(){
$('input[value="Enviar"]').click(function(){
alert("AAAAAA");
});
$('head').append('<style>#locsdeidit [name="subject"], #locsdeidit [name="topic_color"]{display:none}#locsdeidit textarea{width: 70% !important;height: 200px !important;}#locsdeidit input:hover{background:rgba(200,200,200,0.2)}#locsdeidit input{margin-bottom:1%;margin-top:1%;padding:5px 15px;border:1px solid black;cursor:pointer;background:rgba(200,200,200,0.4)}</style>');
$('a[href*="mode=editpost"]').click(function(){
if($(this).parents('.post').find('#contedit').length){
$('#contedit').fadeOut().remove();
}else{
$('#contedit').remove();
mylinkpathname = $(this).attr('href');
$(this).after('
<div id="contedit" style="box-shadow:0 0 10px grey;border:1px solid #555;margin-left:7%;padding:10px 15px;background:#f4f4f4;position:absolute;z-index:999;margin-top: 1%;margin-left: 981px;margin-top: -0px;">
<p><div id="normedit" onmouseout="$(this).css(\'background\',\'rgba(255,255,255,0.8)\')" onmouseover="$(this).css(\'background\',\'rgba(200,200,200,0.5)\')" style="font-weight:bold;color:#7D7D7D;transition:all 0.4s;border-bottom:1px solid grey;margin-bottom:1%;padding:10px 15px;background:rgba(255,255,255,0.8);cursor:pointer;">Editar (Normal)</div></p>
<p><div id="rapidedit" onmouseout="$(this).css(\'background\',\'rgba(255,255,255,0.8)\')" onmouseover="$(this).css(\'background\',\'rgba(200,200,200,0.5)\')" style="font-weight:bold;color:#7D7D7D;transition:all 0.4s;padding:10px 15px;background:rgba(255,255,255,0.8);cursor:pointer;">Editar (Rápido)</div></p>
</div>
');
$('#rapidedit').bind('click', function(){
if($(this).parents('.post').find('#locsdeidit').length){
$('#locsdeidit').remove()}else{$('#locsdeidit').remove();
$(this).parents('.post').find('.post-entry').after('<div style="padding-left: 1.79%;" id="locsdeidit"><img src="http://www.wingshootingusa.org/2012/Images/loading_transparent.gif"></div>');
$('#locsdeidit').hide().fadeIn();
$.get(mylinkpathname, function(locg){
var html0 = $('.frm-form .frm-input', locg).html();
var html1 = $('#textarea_content', locg).html();
var html2 = $('.frm-form .frm-buttons', locg).html();
var htmlfinal = '<form onsubmit="return vB_Editor[\'text_editor\'].prepare_submit(0,0)" name="post" method="post" action="/post" enctype="multipart/form-data">' + html0 + html1 + html2 + '</form>';
$('#locsdeidit').html(htmlfinal);
});
jQuery('html,body').animate({scrollTop: jQuery('#locsdeidit').offset().top}, 1000);
$('#contedit').remove();
}
});
$('#normedit').bind('click', function(){
window.open(mylinkpathname, '_self')
});
$('#contedit').hide().fadeIn();
}
return false;
});
});
Se quiser esperar um dia e meio +/-, ficará semelhante a esse do tutorial.
Até mais. :$
Re: Edição rápida na mensagem não funciona...
Na verdade, assim que envio a mensagem Duel, o código salva, e quando aperto F5, a mensagem que tinha salvo fica lá normal. Tem certeza que ambos veem este bug?
Re: Edição rápida na mensagem não funciona...
Absoluta certeza Shek.. Fiz um vídeo, tá 21% ainda infelizmente. .-.
Re: Edição rápida na mensagem não funciona...
Olá!Shek escreveu:Na verdade, assim que envio a mensagem Duel, o código salva, e quando aperto F5, a mensagem que tinha salvo fica lá normal. Tem certeza que ambos veem este bug?
Realmente eu também não vejo problema algum em um fórum que tenho, mas infelizmente, algo foi alterado na Plataforma que modificou as permissões e/ou forma de postagem com Ajax.
Abaixo está o erro retornado pelo servidor Forumeiros:
Isso acontece com templates não modificados e/ou com fóruns atuais, ao menos foi o que eu notei pois em meus testes iniciais.A browser error occured [Error #230], please contact the technical support.
@Sonic_BR
A solução será rápida, aguarde que postarei aqui mesmo e depois a equipe, se desejar, irá atualizar o tópico ok?
@Duel
Antes de apontar que um código está errado, verifique-o primeiro e encontre o erro, pois se não encontrares, de dois um: "ou não sabe, ou o código não contém erros"!
Pense bem pois um tutorial só é aprovado quando ele é testado e retestado por todos da equipe.
Irei verificar as mudanças que houveram na parte postagem com Ajax e em seguida retorno com a solução.
Até mais,
JS
Re: Edição rápida na mensagem não funciona...
JScript, como vai ?
Ofensiva esta mensagem, ou não?
Este código está funcionando? Creio que não. E como não contem erros?
O sistema mudou, e um erro nasceu. Ele não deixa de ser um erro, rs. Será que, seu cérebro tem capacidade de entender isto? Ou será que não sabe, compreender o que escrevem?
Ofensiva esta mensagem, ou não?
Antes de apontar que um código está errado, verifique-o primeiro e encontre o erro, pois se não encontrares, de dois um: "ou não sabe, ou o código não contém erros"!
Pense bem pois um tutorial só é aprovado quando ele é testado e retestado por todos da equipe.
Este código está funcionando? Creio que não. E como não contem erros?
O sistema mudou, e um erro nasceu. Ele não deixa de ser um erro, rs. Será que, seu cérebro tem capacidade de entender isto? Ou será que não sabe, compreender o que escrevem?
Re: Edição rápida na mensagem não funciona...
@Duel
Nada de "mensagem ofensiva", apenas esclarecimentos e pelo visto quem não entendeu o que está escrito foi você!
É melhor este assunto se encerrar, afinal de contas estamos aqui para "ajudar", não discutir a inteligência de cada um, espero que entenda...
Termine o seu código e seja feliz!
Me reservo no direito de não mais responder suas postagens e não me envie MP.
JS
Nada de "mensagem ofensiva", apenas esclarecimentos e pelo visto quem não entendeu o que está escrito foi você!
É melhor este assunto se encerrar, afinal de contas estamos aqui para "ajudar", não discutir a inteligência de cada um, espero que entenda...
Termine o seu código e seja feliz!
Me reservo no direito de não mais responder suas postagens e não me envie MP.
JS
Re: Edição rápida na mensagem não funciona...
Houve alterações nos campos de postagens onde agora é obrigatório ser como mostra a imagem abaixo:
Os campos que estão marcados não eram obrigatórios com Ajax, mas agora é!
Então, abaixo está o código original do tutorial com as devidas alterações:
Aguardo os "feedbacks",
JS.
Os campos que estão marcados não eram obrigatórios com Ajax, mas agora é!
Então, abaixo está o código original do tutorial com as devidas alterações:
- Código:
/***
* Fast edit without refresh window!
* Version: 1.10292014-jq1.9.1 - ieiunium et dextera
* Made and Optimizations by JScript - 2013/11/12
* View more in: http://ajuda.forumeiros.com
* Copyright (c) 2013 JScript <jscriptbrasil at live dot com>
* This work is free. You can redistribute it and/or modify it
* under the terms of the WTFPL, Version 2
*/
var sFE_oldMsg = '', oFE_msgID = 0, sFE_subject = '', iFE_lt = 0, sFE_post = 'Send', iFE_auth1 = 0, iFE_auth2 = 0;
jQuery(function () {
var sCSS = '' +
'<style>' +
'.input_submit.alt {' +
'background: none repeat scroll 0 0 #E2E9F0;' +
'border-color: #DAE2EA;' +
'border-radius: 3px 3px 3px 3px;' +
'border-style: solid;' +
'border-width: 1px;' +
'box-shadow: 0 1px 0 0 #EFF3F8 inset, 0 2px 3px rgba(0, 0, 0, 0.2);' +
'color: #464646;' +
'margin-left: 4px !important;' +
'padding: 4px;' +
'text-decoration: none;' +
'}' +
'.input_text, .fdfButton {' +
'padding: 4px !important;' +
'box-shadow: 0 1px 0 0 #EFF3F8 inset, 0 2px 3px rgba(0, 0, 0, 0.2);' +
'}' +
'.desc {' +
'background-color: #F1F6F9;' +
'padding: 9px;' +
'color: #777777;' +
'font-size: 11px;' +
'}' +
'</style>';
document.head.insertAdjacentHTML('beforeEnd', sCSS);
jQuery('a[href*="mode=editpost"]').click(function (event) {
event.preventDefault();
var datahref = jQuery(this).attr('href');
var post_ID = datahref.split('p=')[1].split('&')[0];
/* Forum versions! */
var phpBB2 = jQuery('#p' + post_ID).find('td .postbody div:eq(0)');
var phpBB3 = jQuery('#p' + post_ID).find('div.content');
var punbb = jQuery('#p' + post_ID).next().find('div.entry-content');
var invision = jQuery('#p' + post_ID).find('div.post-entry');
if (phpBB2.length) {
oFE_msgID = phpBB2;
} else if(phpBB3.length) {
oFE_msgID = phpBB3;
} else if(punbb.length) {
oFE_msgID = punbb;
} else if(invision.length) {
oFE_msgID = invision;
};
fastEditMsg(post_ID);
});
});
/***
* Fast edit post!
* Function: fastEditMsg(post_ID);
*/
fastEditMsg = function(post_ID){
if (isNaN(post_ID) || (jQuery('#p' + post_ID).length == 0) ) {return false}
sFE_oldMsg = oFE_msgID.html();
var sHtml = '<div class="main-content topic">' +
'<div class="post">' +
'<div id="editor_' + post_ID + '">' +
'<textarea cols="9" id="text_editor_textarea_' + post_ID + '" name="message" onclick="storeCaret(this)" onkeyup="storeCaret(this)" onselect="storeCaret(this)" rows="15" style="width: 98%; height: 250px;" tabindex="3" wrap="virtual">' +
'\n\n\n\n\n\nCarregando a mensagem, aguarde...</textarea>' +
'<div class="row2 desc">' +
'Razão para editar: <input type="text" value="" name="post_edit_reason_' + post_ID + '" id="post_edit_reason_' + post_ID + '" class="input_text" maxlength="250" size="35"> ' +
'<input type="checkbox" value="1" id="add_edit_' + post_ID + '" name="add_edit_' + post_ID + '" style="vertical-align: middle ! important;"> <label for="add_edit_' + post_ID + '">Mostrar \'Ultima edição por\'</label>' +
'</div>' +
'<fieldset class="submit" style="font-size: 13px !important; padding: 15px 6px; text-align: center; border: 0 none; background-color: #D1DDEA;">' +
'<input class="button2 fdfButton" name="post" tabindex="6" type="button" value="Salvar Alterações" onclick="fastEditSave(' + post_ID + ')"> ' +
'<a class="input_submit alt" href="/post?p='+ post_ID + '&mode=editpost">Usar Editor Completo</a>' +
' ou ' +
'<a class="cancel" title="Cancelar" href="javascript:void(0);" onclick="fastEditCancel(' + post_ID + ');">Cancelar</a>' +
'</fieldset>' +
'</div>' +
'</div>' +
'</div>';
oFE_msgID.html(sHtml);
var text_area = jQuery('#text_editor_textarea_' + post_ID);
text_area.val(sFE_oldMsg.replace(/<br\s?\/?>/g,"\n"));
/* text_area.val(HtmlToBBCode(sFE_oldMsg)); */
try
{
text_area.sceditor({
locale: "pt",
height: "250px",
width: "auto",
plugins: "bbcode",
toolbar: "bold,italic,underline,strike|left,center,right,justify|quote,code,faspoiler,fahide|servimg,image,link,youtube|size,color,font,removeformat|emoticon,date,time,maximize,source",
parserOptions: {
/*breakAfterBlock: false,*/
/*removeEmptyTags: false, */
/*fixInvalidNesting: false,*/
/*fixInvalidChildren: false*/
},
style: "http://illiweb.com/rs3/85/frm/SCEditor/minified/jquery.sceditor.default.min.css",
rtl: false,
emoticonsEnabled: true,
emoticonsCompat: true,
emoticonsRoot: "",
emoticonsURL: "/smilies.forum?f=9&mode=smilies_frame&t=1383011440"
});
text_area.sceditor("instance").toggleSourceMode();
text_area.sceditor("instance").focus();
jQuery("a.sceditor-button-source").addClass("hover");
/*jQuery.sceditor.ShowHideToolbarElements();*/
var container = $('.sceditor-container');
var ciframe = container.find('iframe');
var ctextarea = container.find('textarea');
ciframe.width(ciframe.width() - 9);
ctextarea.width(ctextarea.width() - 9);
jQuery('.sceditor-resize-cover').show();
} catch(e) { if( typeof(console) != 'undefined' ) { console.error(e); } }
jQuery.get("/post?p=" + post_ID + "&mode=editpost", function(data) {
sFE_subject = jQuery(data).find('input[name="subject"]').val();
var user_Msg = jQuery(data).find('#text_editor_textarea[name="message"]').val();
text_area.val(user_Msg);
text_area.sceditor('instance').val(user_Msg);
iFE_lt = jQuery(data).find('input[name="lt"]').val();
sFE_post = jQuery(data).find('input[name="post"]').val();
var oTarget = jQuery(data).find('input[name="auth[]"]');
iFE_auth1 = jQuery(oTarget[0]).val();
iFE_auth2 = jQuery(oTarget[1]).val();
}).done(function(){
jQuery('.sceditor-resize-cover').hide();
}).fail(function(){
oFE_msgID.html(sFE_oldMsg);
alert('Atenção!\n\n Ocorreu um erro ao requisitar a edição do post, aguarde 10 segundos e tente editar novamente!');
});
jQuery('html,body').animate({
scrollTop: jQuery('#p' + post_ID).offset().top
}, 1200);
};
/***
* Fast cancel post!
* Function: fastEditCancel(post_ID);
*/
fastEditCancel = function(post_ID){
oFE_msgID.html(sFE_oldMsg);
jQuery('html,body').animate({
scrollTop: jQuery('#p' + post_ID).offset().top
}, 400);
};
/***
* Fast edit post!
* Function: fastEditSave(post_ID);
*/
fastEditSave = function(post_ID) {
if (isNaN(post_ID) || (jQuery('#p' + post_ID).length == 0) ) {return false}
var text_area = jQuery('#text_editor_textarea_' + post_ID);
var edit_reason = '';
text_area.sceditor("instance").toggleSourceMode();
var user_Msg = text_area.sceditor('instance').val();
var sHtml = text_area.sceditor('instance').getSourceEditorValue();
if(jQuery('#add_edit_' + post_ID).is(':checked')) {
edit_reason = jQuery('#post_edit_reason_' + post_ID).val();
}
oFE_msgID.html(sHtml);
if (sHtml.indexOf('<code>') !== -1) {
var tagCode = oFE_msgID.children('code');
var sContent = tagCode.html();
tagCode.before('<div class="punbbtop">Código <button onclick="punbbExpand(this); return false;">expand</button><button style="display: none" onclick="punbbCollapse(this); return false;">collapse</button> <button onclick="punbbSelect(this); return false;">select</button> <button onclick="punbbPopup(this); return false;">popup</button> <button style="margin-right: 50px; float: right;" onclick="punbbAbout(this); return false;">?</button></div><pre class="highlight punbb_block">' + sContent + '</pre>');
tagCode.remove();
jQuery.getScript('http://balupton.github.io/jquery-syntaxhighlighter/scripts/jquery.syntaxhighlighter.min.js', function () {
jQuery.SyntaxHighlighter.init({
'wrapLines': false
})
})
}
jQuery.post("/post", {
p: post_ID,
lt: iFE_lt,
auth: iFE_auth1,
auth: iFE_auth2,
mode: 'editpost',
subject: sFE_subject,
message: user_Msg,
edit_reason: edit_reason,
attach_sig: 1,
notify: 0,
post: sFE_post
}).done(function(){
/* */
}).fail(function(){
oFE_msgID.html(sFE_oldMsg);
alert('Atenção!\n\n Ocorreu um erro ao salvar a edição do post, aguarde 10 segundos e tente editar novamente!');
});
jQuery('html,body').animate({
scrollTop: jQuery('#p' + post_ID).offset().top
}, 400);
};
Aguardo os "feedbacks",
JS.
Re: Edição rápida na mensagem não funciona...
JScript, funcionou perfeitamente cara! Estão todos de parabéns, o JScript, a equipe Forumeiros e os membros que estão sempre tentando ajudar!
Sério mesmo, nunca vi um fórum tão amigável e solidário como esse! Parabéns à todos
JScript, se eu tivesse dinheiro, te daria agora cara, heuaheu!
Brigado mesmo!
Resolvido.
Sério mesmo, nunca vi um fórum tão amigável e solidário como esse! Parabéns à todos
JScript, se eu tivesse dinheiro, te daria agora cara, heuaheu!
Brigado mesmo!
Resolvido.
Re: Edição rápida na mensagem não funciona...
@Sonic_BR
Fico feliz que tenha dado certo amigo, agora vamos aguardar a equipe substituir o código anterior do tutorial por este atualizado, assim o tutorial se mantém!
JS
Fico feliz que tenha dado certo amigo, agora vamos aguardar a equipe substituir o código anterior do tutorial por este atualizado, assim o tutorial se mantém!
JS
Re: Edição rápida na mensagem não funciona...
Bom dia!
Código alterado JScript, e obrigado.
Código alterado JScript, e obrigado.
Questão marcada como Resolvida ou o Autor solicitou que ela fosse arquivada. Tópico marcado como Resolvido e movido para Questões resolvidas. |
Tópicos semelhantes
» Edição rápida na mensagem
» [TUTORIAL] Edição rápida na mensagem
» Edição rápida dos ícones
» Edição da aparência da caixa de resposta rápida
» Transferir modo de edição nas respostas rapida
» [TUTORIAL] Edição rápida na mensagem
» Edição rápida dos ícones
» Edição da aparência da caixa de resposta rápida
» Transferir modo de edição nas respostas rapida
Fórum dos Fóruns :: Ajuda e atendimento ao utilizador :: Questões sobre códigos :: Questões resolvidas sobre códigos Javascript e jQuery
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos