Я пишу веб-страницу, которая использует [то, что я считаю] AJAX так, чтобы можно было вводить данные в текстовое поле, нажимать поле «ОК», сохранять данные в базе данных и повторно загружать областьсодержит текстовое поле и кнопку «ОК», а также некоторые другие данные на основе введенных данных.Поскольку он работает сейчас, процесс отлично работает с первой записью, но если вы попытаетесь ввести информацию снова, он будет вести себя так, как если бы исходное значение было введено снова:
Пример:
Ввод пользователя: 5
Страница ведет себя так, как если бы ввод был: 5
Пользовательский ввод: 4
Страница ведет себя так, как если бы ввод был: 5
Пользовательский ввод: 3
Страница ведет себя так, как если бы ввод был: 5
Когда страница первоначально загружается, область выглядит следующим образом (да, она пустая. Я называю код, который загружает ее в конце начальной загрузки страницы):
echo "<table>";
// ...Other stuff which I don't think is involved in the problem, though I've been wrong before...
echo "<tr>";
echo "<td>";
echo "<div id=\"measurements\">";
// Filled by javascript functions below
echo "</div>";
echo "</td>";
echo "</tr>";
echo "</table>";
СледующееФункция javascript доступна и вызывается при загрузке страницы:
function measurementEntered(pid, vid, oid, varn, dat) {
// Create XMLHttpRequest object
var xmlhttp;
if(window.XMLHttpRequest) {
xmlhttp = new XMLHttpRequest();
}
else {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.open("GET", "ajax_measurements_update.php?varn="+varn+"&pid="+pid+"&vid="+vid+"&oid="+oid+"&dat"+dat+"&user="+user, false);
xmlhttp.send();
document.getElementById("measurements").innerHTML=xmlhttp.responseText;
}
А страница ajax_measurements_update.php содержит следующий код для ввода данных и обновления области (есть также некоторый код для добавления дополнительной информации кобласть, но я не думаю, что это вызывает проблему. Если вы подозреваете, что это может, я могу опубликовать больше):
echo "<input type=\"text\" id=\"Select4\" name=\"dat\" size=\"20\" />";
и
echo "<button type=\"button\" onclick=\"measurementEntered($pid, $vid, $oid, $varn, Select4.value);\" />OK</button>";
Так должно быть, после нажатиякнопку "ОК", потянитеПолучите данные из текстового поля «Select4» и вызовите функцию measureEntered.Затем функция measureEntered должна обновить область с помощью новой кнопки «ОК», готовой для извлечения данных из нового текстового поля «Select4».Однако при повторном щелчке по нему, MeasureEntered вызывается с исходным значением из Select4.Есть идеи?
Спасибо.