Эта кошка была очищена несколькими способами в SO, но я, кажется, не могу растянуть ее так, как это работает для моего примера.
Я создал таблицу, состоящую из трех столбцов. Третий столбец - это текстовое поле, в котором будет отображаться заполнитель «Не установлено» или дата. Мне нужно событие onChange для запуска пост-скрипта PHP для отправки введенного значения в базу данных.
Самостоятельно работают следующие:
HTML
<div class="row">
<form action="./functions/post_Updates.php" method="Post">
<input name="RAID">
<input name="InstalledOn">
<button type="submit" value="go">go </button>
</form>
</div>
PHP
$RAID = $_POST['RAID'];
$InstalledOn = $_POST['InstalledOn'];
echo "<p>$RAID</p>";
echo "<p>$InstalledOn</p>";
$tsql = "insert into dbo.test (test) values ('$InstalledOn $RAID')";
После отправки таблица TEST обновляется.
Я настроил элементы таблицы следующим образом (как часть функции PHP для генерации самой таблицы:
HTML
<input type=\"text\" class=\"InstalledOn_Input\" name=\"$r_RAAID\" onChange=\"DynamicUpdateCP($r_RAAID,this.value);\" placeholder=\"$r_CPInstalledOnDate\"></input>
JS
function DynamicUpdateCP(id,value){
$.ajax({
data: {RAID: id, InstalledOn: value},
url: './functions/post_Updates.php',
type: 'POST'
});
alert(id + ' has changed to ' + value);
}
Если я удаляю часть $ .ajax, alert () срабатывает, как и ожидалось. Однако в настоящее время редактирование поля и нажатие клавиши возврата или изменение фокуса вообще ничего не делает.
Любое руководство по отсутствующей ссылке здесь будет феноменальным. Спасибо.
@ Pointy
Я переформатировал часть onchange = ... чтобы быть:
onChange=\"DynamicUpdateCP(\"$r_RAAID\",\"this.value\");\"'
ошибка, которую я получаю в консоли отладки:
Uncaught SyntaxError: Неожиданный конец ввода
Оператор импорта jQuery:
<script rel="javascript" type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>