Лучшая практика для отправки данных AJAX через форму - получение значения обратно - PullRequest
1 голос
/ 20 марта 2009

У меня есть небольшая форма, где я хочу, чтобы значения менялись при изменении для полей выбора, что можно сделать с помощью:

$("form#updateclient select").change(function(){ // use one selector for all 3 selects
    $.post("inc/process-update.php",{
        // data to send
        completed: $("select#completed").val(),
        hours:     $("select#hours").val(),
        update_id: $("#u_id").val(),
        who:       $("select#who").val()
    }, function(data) {
        // do callback stuff with the server response 'data' here
    });
});

Но у меня есть поле ввода текста, в котором пользователь может ввести количество часов, когда он щелкает из поля, ТО затем отправляет этот запрос AJAX на страницу PHP.

И поле #completed теперь является флажком, оно проходит то же самое, что и вход? Как это будет работать с jQuery, поэтому, если вы установите или снимите флажок, отправьте эту информацию и обновите базу данных

То, что я сейчас пытаюсь исследовать, - это лучший способ получить эти значения с сервера и обновить их на странице с помощью AJAX. Поэтому, как только я обновлю свой выпадающий список, он сохранит тот же результат.

Есть идеи?

1 Ответ

1 голос
/ 20 марта 2009

И поле #completed теперь является чекбоксом, передает ли оно то же самое, что и вход?

Нет. .Value флажка (который используется методом val () jQuery) всегда является строкой в ​​атрибуте value = "..." (по умолчанию «on», если не указано), независимо от того, отмечен он или нет. Чтобы получить эффективное значение флажка, вам нужно взглянуть на свойство «.checked». например.

var v= element.checked? element.value : '';

Кроме того, вы не можете использовать обработчик onchange для обнаружения изменения флажка, так как IE не запускает это событие. Вместо этого вы должны использовать onclick для этого элемента.

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