我的表格
<div class="replymsg">
<form class="mainform" action="reply.php" method="POST">
<textarea class="replytext" ></textarea>
<button data-value="<?php echo $id; ?>"
class="replybutton">Submit</button>
</form>
</div>
$ id来自MYSQL数据库。以下“测试”代码使用Jquery为我提供了回复表单的ID:
<script>
$(".replybutton").click(function(){
alert($(this).data("value"));
});
</script>
commentid的值:当我使用网站的“实际”代码时,id不会被传递(回复:replytext ...发送消息正在工作):
<script>
$(document).ready(function(){
$(".replybutton").click(function(){
var id = $(this).data("value");
var replytext = $(".replytext").val();
$.post("reply.php",{ commentid: id, reply: replytext },function(data){
$("#result").html(data);
});
});
});
</script>
任何想法,任何帮助都表示赞赏?
答案 0 :(得分:1)
如果你使用ajax,很可能你应该停止提交表单,因为按钮的默认行为是提交表单:
*.pro
或在按钮上添加一个类型:
<script>
$(document).ready(function(){
$(".replybutton").click(function(e){
e.preventDefault(); //<---------------stops the form submission here
var id = $(this).data("value");
var replytext = $(".replytext").val();
$.post("reply.php",{ commentid: id, reply: replytext },function(data){
$("#result").html(data);
});
});
});
</script>
另一种方法是使用<button type='button' data-value="<?php echo $id; ?>" class="replybutton">Submit</button>
//------^^^^^^^^^^^^
事件:
.submit()
在这种情况下,您不需要为按钮添加类型,但最好拥有它。
答案 1 :(得分:0)
使用 AJAX
提交表单表格
<div class="replymsg">
<form class="mainform" action="" method=" ">
<textarea class="replytext" ></textarea>
<input type="text" value="<?php echo $id; ?>" name="comment_id" id="comment_id" style="display: none"> <!-- this contain the ID-->
<input type="submit" class="replybutton" id="replybutton" value="Submit">
</form>
</div>
使用AJAX
<script>
$(function(){
$( "#replybutton" ).click(function(event)
{
event.preventDefault();
var comment_id = $("#comment_id").val();
var replytext = $(".replytext").val();
$.ajax(
{
type:"post",
url: "./reply.php",
data:{ id:comment_id, reply:replytext,},
success:function($data)
{
$("#result").html(data);
}
});
});
});
</script>
答案 2 :(得分:0)
$(document).ready(function(){
$(".replybutton").click(function(e){
e.preventDefault();
var id = $(this).data("value");
var replytext = $(this).prev().val();
$.post("reply.php",{ commentid: id, reply: replytext
},function(data){
$("#result").html(data);
});
});
});
感谢您的帮助,我想通了,我的问题是在点击回复按钮时在评论/回复系统中发送Id和replytext。上面的工作代码。