возникли проблемы при получении ответа на полный запрос ajax-php в div - PullRequest
0 голосов
/ 26 августа 2011

У меня проблема с получением ответа в div запроса ajax, который создается событием 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 "&nbsp;<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, я хочупокажите ответ отправки формы на самой странице в div с именем showcomments_ $ idc.

Здесь, хотя я могу передать значение bt, я совершенно не могу показать ответ в желаемом div ...

Пожалуйста, помогите мне, если ne1 может ...

Мне это нужно так сильно, что я застрял между моим проектом ...

Заранее спасибо ...

С уважением, Muddser

1 Ответ

2 голосов
/ 26 августа 2011

В вашей функции showResponse2() вы воспринимаете counter как строку (при поиске идентификатора элемента) и объект, содержащий ответ AJAX (при назначении текста для изменения).Измените свою функцию 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;
        }
    });
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...