我想实现一个用户更改数据后立即发送数据的表单。
示例:
主持人正在编辑文章,它会更改选择的值。当他这样做时,ajax将请求发送到动态页面以更改该字段。也许在更改后如果一切正常,页面应显示一个“更新完成...”的小方框
那可能吗?哪种方法最好?
(我可以使用jQuery)
答案 0 :(得分:1)
你可能想要使用jQuery,因为它听起来最简单。
根据您要调用的事件,ajax取决于您使用的选择器。我可能首先创建一个调用ajax的函数,然后使用选择器遍历你想要更改的每个元素(通过标签名称或类等)然后onblur或更改,无论哪个套件,调用你的ajax传递表单参数。
function callAjax(form) { $.ajax({ type: "POST", url: "/yourscript.php", data: $(form).serialize(), // Send all the data from the form success: function(msg) { // Show a success message, or whatever } }); } $("form input").blur(function() { callAjax($("form")); });
像这样的东西
编辑:如上所述,可能不会在ever blur事件上调用请求,因为这可能会给服务器带来很大的负担。您最好将事件附加到表单提交,以便上述内容:
$("form").submit(function() { callAjax($("form")); return false; });
答案 1 :(得分:0)
你可以在那里找到jQuery AJAX的东西。我唯一要注意的是你做了多少个AJAX请求。例如,如果您有textarea,则不希望更新每个按键;服务器上的AJAX负载将是巨大的。在这种情况下,每10秒更新一次。
对于像选择框这样的东西,只需使用$("#selectbox").change()
并在其中放置一个AJAX调用。
答案 2 :(得分:0)
确定您可以在所有输入上触发模糊事件,触发针对该特定框或整个表单的ajax调用(如果需要)。我担心的是,如果你真的想经常提交,那么我也担心验证。如果你愿意的话,你也可以让它提交整个表格,而不仅仅是一个盒子。但说实话,我根本不喜欢这个想法