通过表单发送AJAX数据的最佳实践 - 检索值

时间:2009-03-20 05:58:36

标签: php jquery mysql ajax

我有一个小表单,我希望在我的选择框的更改时更新值,可以通过以下方式完成:

$("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 个答案:

答案 0 :(得分:1)

  

#completed字段现在是一个复选框,是否传递了相同的输入?

没有。复选框的.value(由jQuery的val()方法使用)始终是value =“...”属性中的字符串(如果省略则默认为“on”),无论是否勾选。要获得复选框的有效值,您需要查看“.checked”属性。例如

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

此外,您不能使用onchange处理程序来检测何时更改复选框,因为IE不会触发该事件。相反,您必须对该元素使用onclick。