AJAX фиксирует изменение в базе данных без отправки - PullRequest
0 голосов
/ 29 мая 2019

Эта кошка была очищена несколькими способами в 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>

1 Ответ

0 голосов
/ 29 мая 2019

EDIT: вызывал скрипт JQuery с использованием HTTP, а не HTTPS. Обновлено ниже:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>

Изменена версия jquery на 3.4.1, и вызов ajax работал отлично.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...