|
|
|
| Обнаружил, что если на странице уже есть комментарии то следующий комментарий отображается без перезагрузки страницы.
Если же комментарий вводится впервые на странице и нажатии кнопки "Отправить" текст подвисает и отображение нового коммента не осуществляется.
Стоит перегрузить страницу - коммент стоит на месте.
<h5>Комментарии:</h5>
<div id='cerror'></div>
<form action="#" method="POST" enctype="multipart/form-data" name="addcom" id="addcom"
onSubmit="return false" class="sendform">
<input class="comment_name" type="text" name="author" id="author">
Ваше имя
<div class="corner20"><textarea name="text"></textarea></div>
<input name="id" type="hidden" value="<?php echo $id; ?>">
<input type='hidden' name='advertisment' value='<?php echo $myrow['title']; ?>'>
<input class="button-small" name="button" type="button" value='Отправить'
onclick="doLoad(document.getElementById('addcom'))">
</form>
<!--вывод комментариев -->
<?php
$result = mysql_query("SELECT * FROM comment_cat WHERE post='" . mysql_real_escape_string($id)
. "' ORDER BY date DESC, id", $db);
if(mysql_num_rows($result) > 0)
{
$comment = mysql_fetch_array($result);
do
{
$text = $comment["text"];
$author = $comment["author"];
$date = $comment["date"];
printf("<div id='resultid'></div>
<div class='comment-content2'>
<h6>%s</h6>
<p>%s</p>
<p>%s</p>
</div>
",$author,$date,$text);
}
while ($comment = mysql_fetch_array($result));
}
?>
|
// JavaScript Document
function doLoad(value){
err=document.getElementById('cerror');
err.innerHTML = "<img src='images/upload.gif' width='32' height='8'><br><p>
Ваш комментарий обрабатывается...</p>";
// Create new JsHttpRequest object.
var req = new JsHttpRequest();
// Code automatically called on load finishing.
req.onreadystatechange = function() {
if (req.readyState == 4) {
if (req.responseJS.error == 'no') {
// Clear error information.
err.innerHTML = "";
// Write req.responseJS to page element (_req.responseJS become responseJS).
document.getElementById('resultid').innerHTML = req.responseJS.ok;
form = document.getElementById('addcom');
form.text.value = "";
form.author.value = "";
}
else
{
err.innerHTML = req.responseJS.er_mess;
}
}
}
// Prepare request object (automatically choose GET or POST).
req.open(null, 'comment_cat.php', true);
// Send data to backend.
req.send( { q: value } );
}
|
| |
|
|