通过表单发送 AJAX 数据的最佳实践 - 取回值
Posted
技术标签:
【中文标题】通过表单发送 AJAX 数据的最佳实践 - 取回值【英文标题】:Best practice for sending AJAX data via form - retrieving value back 【发布时间】:2010-10-14 11:42:51 【问题描述】:我有一个小表单,我希望在更改时更新我的选择框的值,这可以通过以下方式完成:
$("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】:#completed 字段现在是一个复选框,它的传递是否与输入相同?
没有。复选框的 .value(由 jQuery 的 val() 方法使用)始终是 value="..." 属性中的字符串(如果省略,则默认为“on”),无论它是否被勾选。要获得复选框的有效值,您需要查看“.checked”属性。例如。
var v= element.checked? element.value : '';
此外,您不能使用 onchange 处理程序来检测复选框何时更改,因为 IE 不会触发该事件。相反,您必须对该元素使用 onclick。
【讨论】:
以上是关于通过表单发送 AJAX 数据的最佳实践 - 取回值的主要内容,如果未能解决你的问题,请参考以下文章