我有一个评论页面,每个评论下面都有一个表单,用于使用Jquery发布子评论:
<div class="commentcontainer" id="commentload0-<?php echo $kid;?>-3">
-----------------comments go here------------------
</div>
<div class="commentupdate2" id="commentbox0-28-3" style="display:none">
<div class="stcommenttext3">
<form action="" method="post" name="0-28-3"><input name="wh" id="wh" value="1" type="hidden">
<textarea name="comment" id="ctextarea0-28-3" onkeyup="textar1(this)" class="tarea2 expta"></textarea>
<input value="Save" id="0-28-3" class="subcoment_a button" style="vertical-align:top" type="submit"></form>
</div></div>
<div class="comment_ui2" id="view0-<?php echo $kid;?>-3">
<a href="#" class="subcomments" vid="0-<?php echo $kid;?>-3" id="0-<?php echo $kid;?>-3">Load more comments</a></div>
$(".subcoment_a").click(function(){
var element = $(this);
var ID = element.attr("id");
var comment = $("#ctextarea"+ID).val();
var dataString = 'comment='+ comment + '&msg_id=' + ID;
if(comment=='') {
alert("Incomplete form");
} else {
$.ajax({
type: "POST",
url: "/save-comment.php",
data: dataString,
cache: false,
success: function(html){
$("#commentload"+ID).append(html);
$("#ctextarea"+ID).val('');
$("#ctextarea"+ID).focus();
}
});
}
return false;
});
到目前为止一切正常。
然后我点击“加载更多评论”并动态加载下一条评论_forms(再次使用Jquery)。如果我以动态加载的形式输入文本,我无法使用Jquery提交表单。该页面不会调用脚本,而是自行刷新。
感谢。
答案 0 :(得分:2)
使用on:
$(document.body).on('click', ".subcoment_a", function(){
因此,即使在您进行绑定时不存在,也会将click事件委托给".subcoment_a"
个元素。