Просто некоторые проблемы с AJAX.
Контекст: создание большой таблицы с вкладками, которые должны публиковаться после их заполнения. Думал, что триггер onchange будет работать лучше всего.
Проблема: я не могу заставить javascript передавать значение ввода на лист .php.
header.php
$(document).ready(function(){ $(".matchedit").onchange(function postinput(){ // Problem 1: change( var matchvalue = $(this).value; // Problem 2: $(this).val(); $.ajax ({ url: 'matchedit-data.php', data: {matchvalue: matchvalue}, type: 'post' }); }); });
page.php
<tr> <td> <input name="grp1" type="text" class="matchedit" onchange="postinput()"> </td> </tr>
matchedit-data.php
$entry = $_POST['matchvalue']; $conn->query("UPDATE matches SET grp = '$entry' WHERE mid = 'm1'");
Заранее спасибо!
Для чтения значения используемого метода jQuery для ввода .val()
следует использовать, value
здесь возвращает undefined
значение. Также вы должны использовать .on('change')
или change()
, объект jQuery не имеет метода onchange
.
$(document).ready(function(){ $(".matchedit").on('change', function postinput(){ var matchvalue = $(this).val(); // this.value $.ajax({ url: 'matchedit-data.php', data: { matchvalue: matchvalue }, type: 'post' }).done(function(responseData) { console.log('Done: ', responseData); }).fail(function() { console.log('Failed'); }); }); });