我在ajax请求的div中获得响应时出现问题,该请求是由onclick事件通过表单&一个php页面。
代码:
<html>
<head>
<script language="javascript">
function commentRequest(counter) {
new Ajax.Request("comment.php",
{
method: 'post',
postBody: 'commentbox='+ $F('commentbox_'+counter)+'&idc2='+$F('idc2_'+counter),
onComplete: showResponse2
});
}
function showResponse2(counter)
{
document.getElementById('showcomments_'+counter).innerHTML= counter.responseText;
}
</script>
</head>
<body>
<form id="form1" method="post" action="insert.php">
<textarea name="text1" id="text1"></textarea>
<input type="submit" name="nbbutton" value="Submit"/>
</form>
<?php
$con = mysql_connect("localhost","myuser","Muddser@1");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
MySQL_select_db("mydb", $con);
$result = mysql_query("SELECT * FROM table1 ORDER BY sl_no desc");
while($row = mysql_fetch_array($result))
{
echo "$row['text1']";
}
$id=$row['sl_no'];
$queryout="SELECT * FROM comments WHERE idc='$idc'";
$resultout=mysql_query($queryout) or die(mysql_error());
while($row1 = mysql_fetch_array($resultout))
echo "<div id='showcomments_$idc'>";
echo "<div id='comment'><form name='comment' id='commentfrm'onSubmit='return false;'>";
echo "<input type='text' value='Post a Comment' name='commentbox' id='commentbox_$idc'
tabindex='30' size='56'>";
echo "<input type='hidden' name='idc2' value='$idc' id='idc2_$idc'>";
echo " <input type='submit' name='submit' value='Post' id='commentbtn'
tabindex='40' onClick='commentRequest($idc)'>";
echo "</form></div>";
echo "$row1['comment']";
echo "</div>";
</body>
</html>
在上面的内容中,我在表格中提交了一些文本字段的值。我在表单打开的同一页面上获得输出。
在这些产出中,我已就每项产出作出评论。
发表评论我创建了一个调用ajax函数commentRequest($ idc)的表单,因为你可以在head标签中看到它。
在通过ajax表示赞赏之后,我想在名为showcomments_ $ idc的div中显示表单提交的响应。在这里,虽然我能够提交值bt但我完全无法在所需的div中显示响应......
如果ne1可以帮助我......
我非常需要它,因为我被困在我的项目中......
提前致谢...
此致 Muddser
答案 0 :(得分:2)
在showResponse2()
函数中,您将counter
视为字符串(搜索元素ID时)和包含AJAX响应的对象(分配respose文本时)。将您的函数commentRequest
更改为:
function commentRequest(counter) {
new Ajax.Request("comment.php",
{
method: 'post',
postBody: 'commentbox='+ $F('commentbox_'+counter)+'&idc2='+$F('idc2_'+counter),
onComplete: function(response) {
document.getElementById('showcomments_'+counter).innerHTML= response.responseText;
}
});
}