Javascript jquerykeydown没有';我没有遗漏什么
大家好,我正在尝试使用jquerykeydown函数和以下代码创建一个pres-enter来发送评论。但我每次都会收到“请写下你的评论”的错误。在这方面,有人能帮我吗Javascript jquerykeydown没有';我没有遗漏什么,javascript,jquery,ajax,Javascript,Jquery,Ajax,大家好,我正在尝试使用jquerykeydown函数和以下代码创建一个pres-enter来发送评论。但我每次都会收到“请写下你的评论”的错误。在这方面,有人能帮我吗 $('.sendcomment').bind('keydown', function(e) { if(e.keyCode==13) { var ID = $(this).attr("id"); var OID = $(this).attr("rel"); var URL = $.base_
$('.sendcomment').bind('keydown', function(e) {
if(e.keyCode==13) {
var ID = $(this).attr("id");
var OID = $(this).attr("rel");
var URL = $.base_url + 'sendcomment_ajax.php';
var comment = $(this).parents('.user-post').find("#commentid" + ID).val();
var dataString = 'comment=' + comment + '&msg_id=' + OID;
if ($.trim(comment).length == 0) {
swal({
title: "Plese write your comment!",
text: "",
timer: 5000
});
} else {
$.ajax({
type: "POST",
url: URL,
data: dataString,
cache: false,
success: function(html) {
$("#commentload" + ID).append(html);
$("#commentid" + ID).val('').css("height", "35px").focus();
}
});
}
return false;
}
});
HTML文本区
<div class="comments-area" id="commentload<?php echo $msgid;?>">
comments will be come here
</div>
<div class="user-post" id="postbody<?php echo $msgid;?>">
<textarea class="sendcomment" name="comment" id="commentid<?php echo $msgid;?>"></textarea>
<input type="submit" class="send-comment comment_button commentopen" id="<?php echo $msgid;?>" rel="<?php echo $msgid;?>" value="SEND" />
</div>
根据您的信息,我认为您的注释
变量选择器有问题,因为您的测试总是告诉您注释值的长度为0
另外,既然您似乎有注释ID,为什么不使用这个更简单的选择器:$(“#commentid'+ID)
?假设$msgid=47
当您执行varid=$(this.attr(“ID”)
要获取文本区域的id,它将返回“commentid47”,因此当您想要使用获取注释时,查找(“#commentid”+id)
您正在查找id“commentid47”
因此,您可以使用.find(“#”+ID)
或更好的解决方案,只需使用$(this).val()
即可获得注释:
var comment = $(this).val();
但如果您只需要获取msgid,就可以在ajax调用中使用它,我建议将其保存在属性中:
<textarea class="sendcomment" name="comment" id="commentid<?php echo $msgid;?>" data-msgid="<?php echo $msgid;?>"></textarea>
看看这个(简化的)JSFiddle:@finrod好的,现在另一个问题来了。当我按enter键时,注释将不会显示在id=“commentload”
@fidrod中,因此当我刷新页面时,我会看到我当时的注释。@创新您可以将msgid保存在DOM中:@Finrod它正在发布消息和msgid,但只是成功:函数(html){…}无法工作。请向$.ajax添加错误回调以查看问题所在:error:function(e){console.log(e);}
var ID = $(this).attr('data-msgid');