我想给网页添加一个评论系统。这是我的PHP代码
<?php
...
while($result = mysql_fetch_array($resultset))
{
$article_title = $result['article_title'];
...
?>
<form id="postform" class="postform">
<input type="hidden" name="title" id="title" value="<?=$article_title;?>" />
<input type="text" name="content" id="content" />
<input type="button" value="Submit" class="Submit" />
</form>
...
<?php
}
?>
这是JS部分$(function($) {
$(document).ready(function(){
$(".Submit").click(function(){
var id = $(this).attr("id");
var name = $(this).attr("name");
var dataString = 'id='+ id ;
var parent = $(this);
var anyBlank = 0;
if(anyBlank == "0")
{
var title = $("#title").val();
var content = $("#content").val();
$.ajax({
type: "POST",
url: "ajax_post.php",
data: "title="+title+"&content="+content,
success: function(date_added){
if(date_added != 0)
{
structure = '<div class="comment_date_added">'+date_added+'</div><div id="comment_text"><div id="comment_content">'+content+'</div>';
$("#post_comment").prepend(structure);
}
});
});ajax_post.phpecho $title;
echo $content;//得到这2个值,写进数据库
问题:<form id="postform" class="postform">被写进了MYSQL_QUERY 结果的循环里,如何修改AJAX部分,使每一个SUBMIT都可以分别插入各自的值?另外success成功之后,$("#post_comment").prepend(structure); 也需要显示在对应的位置。
谢谢。
<?php
...
while($result = mysql_fetch_array($resultset))
{
$article_title = $result['article_title'];
...
?>
<form id="postform" class="postform">
<input type="hidden" name="title" id="title" value="<?=$article_title;?>" />
<input type="text" name="content" id="content" />
<input type="button" value="Submit" class="Submit" />
</form>
...
<?php
}
?>
这是JS部分$(function($) {
$(document).ready(function(){
$(".Submit").click(function(){
var id = $(this).attr("id");
var name = $(this).attr("name");
var dataString = 'id='+ id ;
var parent = $(this);
var anyBlank = 0;
if(anyBlank == "0")
{
var title = $("#title").val();
var content = $("#content").val();
$.ajax({
type: "POST",
url: "ajax_post.php",
data: "title="+title+"&content="+content,
success: function(date_added){
if(date_added != 0)
{
structure = '<div class="comment_date_added">'+date_added+'</div><div id="comment_text"><div id="comment_content">'+content+'</div>';
$("#post_comment").prepend(structure);
}
});
});ajax_post.phpecho $title;
echo $content;//得到这2个值,写进数据库
问题:<form id="postform" class="postform">被写进了MYSQL_QUERY 结果的循环里,如何修改AJAX部分,使每一个SUBMIT都可以分别插入各自的值?另外success成功之后,$("#post_comment").prepend(structure); 也需要显示在对应的位置。
谢谢。
解决方案 »
- 打开一个网址时怎么把里面的密码文本框的值也一并的写上
- div的移动
- javascript中如何在類里面生成的html按鈕的click事件中,調用自己的方法?
- 在线求助,要在此方法上写多个应用
- JavaScript中settimeout的问题~
- ajax全称名字叫异步javasscript 和XML,请问 这个异步指的是什么?
- 如何获得当前IE高度?
- 问一个简单的问题
- 如何将 TD 元素里面的 背景 缩放到 TD 一样大小 ????????? 急!!!!!!!!!!!!!!!!!!!!!
- js的两种写法为什么第一种写法无效?
- jquery appendTo 方法不能立刻生效??
- javascript掌握需要多长时间啊?
name="title" id="title"
这个id name 等都需要加编号啊name="title<?=$article_id;?>" id="title<?=$article_id;?>" post_comment<?=$article_id;?>
JS部分修改如下,加了$(this).siblings之后,传递的数值变成了空,去掉$(this).siblings,仅能传递循环里第一个表单的数值。除了$(this).siblings之外,怎样指定var title 等于该.Submit里面的 (".title").val(); ?
$(function($) {
$(document).ready(function(){
$(".Submit").click(function(){
var title = $(this).siblings(".title").val();
var content = $(this).siblings(".#content").val();
$.ajax({
type: "POST",
url: "ajax_post.php",
data: "title="+title+"&content="+content,
success: function(date_added){
if(date_added != 0)
{
structure = '<div class="comment_date_added">'+date_added+'</div><div id="comment_text"><div id="comment_content">'+content+'</div>';
$("#post_comment").prepend(structure);
}
});
});