Я хочу обновить таблицу из основного файла веб-страницы с помощью функции ajax. Когда поле выбора изменит свое значение, необходимо выполнить функцию dayChanged()
. Эта функция находится внутри файла «ajax.js». Проблема в том, что когда я выбираю другой вариант избранного, ничего не происходит. Я включаю файл вроде: <script src="ajax.js></script>
. Я ожидаю отправить значение поля выбора в запрос MySQL (этот запрос находится внутри «config.php»), а затем обновить таблицу основного файла. Вот основные сведения:Не удается обновить таблицу php с помощью ajax
<html>
<head>
<style type="text/css">
body {
background-color: #9C3;
}
p {color:black;}
.table_test {
font-family: Constantia, Lucida Bright, DejaVu Serif, Georgia, serif;
}
</style>
<script src="ajax.js"></script>
</head>
<body><div align='center'>
<div class="table_test">
<table border='1' cellpadding='0' cellspacing='0' width='600' bgcolor='#F6F6F6' bordercolor='#FFFFFF'>
<tr>
<td width='150' style='font-weight: bold'></td>
<td width='150' style='font-weight: bold'>Festa</td>
<td width='150' style='font-weight: bold'>Preu</td>
<td width='150' style='font-weight: bold'>Entrada</td>
<td width='150' style='font-weight: bold'>Final</td>
<td width='150' style='font-weight: bold'>Estil</td>
<td width='150' style='font-weight: bold'>Llista</td>
</tr>
<form name="form1" method="post">
<div id="table_var">
<?php
include ('functions.php');
$dw = date("w");
display_table_by_day($dw);
?>
</table>
</div>
<p>Veure un altre dia de la setmana:
<select name="select_day" id="day_select" onChange="dayChanged()">
<option value="1">Dilluns</option>
<option value="2">Dimarts</option>
<option value="0">Diumenge</option>
</select>
</p>
</form>
</body>
</html>
Функция display_table_by_day ($ dw) работает правильно. ajax.js файл:
function dayChanged()
{
var buscaAjax;
if(window.XMLHttpRequest)
{
buscaAjax = new XMLHttpRequest();
}else{
buscaAjax = new ActiveXOject("Microsoft.XMLHTTP");
}
buscaAjax.onreadystatechange = function(){
if(buscaAjax.readyState==4 && buscaAjax.status==200){
document.getElementById('table_var').innerHTML = buscaAjax.responseText;
}
}
var dato = document.form1.select_day.value;
buscaAjax.open("GET","config.php?variable="+dato,true);
buscaAjax.send();
}
Наконец, файл config.php является:
<?php
error_reporting(E_ALL^E_NOTICE);
include ('connection.php');
include ('functions.php');
$dw = $_GET['variable'];
display_table_by_day($dw);
?>
Любая идея, почему не работает?
ваша Аякса работает правильно? –
Я не уверен в этом. Как я могу проверить это? –
В mozilla вы используете firebug, заходите в консоль и смотрите, что возвращает ваш ajax –