Использование ajax для отправки GET в php файл после изменения ввода - PullRequest
0 голосов
/ 28 октября 2009

У меня есть серия динамически сгенерированных входных данных, для которых мне нужно обновить ajax в php-файле, как только пользователь щелкнет по входу.

Я думаю, что у меня есть правильный код, но он не работает по независящим от меня причинам. Я полный javascript / ajax noob, так что будьте осторожны.

JS / AJAX:

<script type="text/javascript"> 
// Initialize the object:
var ajax = false;

// Create the object...

// Choose object type based upon what's supported:
if (window.XMLHttpRequest) {

    // IE 7, Mozilla, Safari, Firefox, Opera, most browsers:
    ajax = new XMLHttpRequest();

} else if (window.ActiveXObject) { // Older IE browsers

    // Create type Msxml2.XMLHTTP, if possible:
    try {
        ajax = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e1) { // Create the older type instead:
        try {
            ajax = new ActiveXObject("Microsoft.XMLHTTP");
        } catch (e2) { }
    }

}
function update_program(row, target, value) {
    if (ajax) { // Confirm that the object is usable
        ajax.open('get', 'update.php?row=' + encodeURIComponent(row) + '&target=' + encodeURIComponent(target) + '&nfv=' + encodeURIComponent(value)); // Call the PHP script using GET, pass the variable
        //ajax.onreadystatechange = handle_programupdate; // Function that handles the response
        ajax.send(null); // Send the request
    }
}
</script>

И php для полей динамического ввода

echo "<td><input type=text value=\"$value\" name=\"date\" onblur=\"update_program($i, $j, this.input.date.value);\" class=med></td></td>";

Количество строк равно $ i, а количество полей - $ j. Таким образом, данные, которые мне нужно отправить, - это строка, поле (цель) и измененное значение ввода.

Входные данные расположены в таблице, их много (различные строки, 63 поля). Каждое поле является либо текстовым вводом, либо в одном случае текстовой областью. Как я могу заставить их отправлять файлы php после того, как пользователь их изменяет?

1 Ответ

1 голос
/ 28 октября 2009

Я думаю, что эта часть в onclick на входе

update_program($i, $j, this.input.date.value)

должно быть

update_program($i, $j, this.value)

Также рассмотрите возможность использования jQuery , это значительно облегчает работу с ajax. И все остальное тоже: P

function update_program(row, target, value) {
    $.get('update.php', {row:row, target:target, nfv:value});
}

Кроме того, вы используете time и ваш параметр value в функции, верно?

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