решил к модулю прикрутить изменение статуса с помощью ajax. все вроде бы работает, но есть одна проблема.
и так, по порядку:
1. в функции view() файле modules/games/index.php прописываю:
if (is_moder($conf'name')) {
// анимация "загрузка", затем скрипт ajax
echo "<td align=\"center\"><table><tr><td><div id=\"loading\" style=\"visibility: hidden;\"><img title=\"Загрузка...\" src=\"/images/status/loadstatus.gif\"/></div></td><td><script type=\"text/javascript\" src=\"javascripts/myjs.js\"></script>"
// форма выбора и отправки статуса
."<form name=\"formName\" style=\"visibility: visible;\">"
."<select name=\"id1\" widht=\"300\">";
echo "<option value=\"0\" selected>статус 0</option>";
echo "<option value=\"1\" selected>статус 1</option>";
echo "<option value=\"2\" selected>статус 2</option>";
echo "<option value=\"3\" selected>статус 3</option>";
echo "<option value=\"4\" selected>статус 4</option>";
// переменная id статьи
echo "</select><input type=\"hidden\" name=\"id2\" value=\"$id\">"
// отправка данных функции ajaxRequest(), затем контейнер ajax_response, куда загрузятся данные псле выполнения скрипта
."<input type=\"button\" value=\""._OK."\" onclick=\"ajaxRequest()\" ></form></td></tr></table><div id=\"ajax_response\"></div></td>"; }
скрипт javascripts/myjs.js:
// отправляет переменные redstatus и id файлу /index.php?name=games
var temp1, temp2; temp1=document.formName.id1.value; temp2=document.formName.id2.value;
var redstatus = "redstatus="+temp1+"&id="+temp2+"";
xmlHttp.open("POST", "/index.php?name=games", true);
xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
xmlHttp.send(redstatus);
document.getElementById("loading").style.visibility = "visible";
document.getElementById("formName").style.visibility = "hidden";
//при успешном выполнении запроса присвоение контейнеру ajax_response значения
var response = xmlHttp.responseText;
document.getElementById("ajax_response").innerHTML = response;
ну и последнее, функция в файле modules/games/index.php , с которой идет запрос в бд и вывод данных
if(isset($_POST'redstatus'))
{
global $prefix, $db;
$id = $_POST'id';
$status = $_POST'redstatus';
$db->sql_query("UPDATE ".$prefix."_games SET status='$status' WHERE lid='$id'");
echo "проверка";
}
Так вот, в
<div id=\"ajax_response\"></div>
должно выводиться слово "проверка", оно выодиться, но после этого выводиться еще и весь код страницы /index.php?name=games:
Что не так сделал?
Версия системы: Open SLAED 1.*