这是我网站的评论脚本,但是jquery / javascript代码的某些部分似乎无法正常工作。
当编辑评论而不是将其发布到php时,我已经做了一个小的通知窗口来测试它是否正在改变传递的值。
Onclick将获取当前评论,并在其中创建带有该评论的文本区域。
现在,如果用户开始更改文本并且他/她点击了编辑按钮,则即使文本完全不同,小测试通知仍会显示原始评论。
请求帮助。
这是代码
$("a.edit").click(function(){
var eid = $(this).data("id");
var econtent = $("li[data-id='" + eid + "'] .comment-cont").text();
$("li[data-id='" + eid + "'] .comment-cont").html('<div class="edit-error"></div><form><textarea class="edit-comment">'+econtent+'</textarea></form><a href="javascript:;" onclick="notify('+econtent+')" class="editcomment button_yellow">Edit</a>');
$(".edit-comment").keyup(function(){
var content = $('.edit-comment').val();
if (content.length < 3){
$(".edit-error").show();
$('.edit-error').html('Content can not be shorter then 3 characters');
$("a.editcomment").hide();
}else if(content.length < 300){
$(".edit-error").hide();
$('.edit-error').html('')
$("a.editcomment").show();
}else{
$(".edit-error").show();
$('.edit-error').html('Content can not be longer then 300 characters');
$("a.editcomment").hide();
}
});
$("a.editcomment").click(function(){
var edited = $('.edit-comment').text();
notify(edited);
});
});
因此,如果用户点击编辑按钮,他/她的评论将进入带有编辑按钮的文本区域。
PS:功能
notify()=小通知框。
var eid = comment id。
var econtent =原始内容
var edited =已编辑的内容(仍然是原始内容)。
答案 0 :(得分:0)
我认为您只需要将$('.edit-comment').text();
更改为$('.edit-comment').val();
$("a.editcomment").click(function(){
var edited = $('.edit-comment').val();
notify(edited);
});
似乎val() is the preferred way of getting text from a textarea。