更改表单时更改表单

时间:2011-03-17 12:38:57

标签: jquery ajax javascript

我想实现一个用户更改数据后立即发送数据的表单。

示例:

主持人正在编辑文章,它会更改选择的值。当他这样做时,ajax将请求发送到动态页面以更改该字段。也许在更改后如果一切正常,页面应显示一个“更新完成...”的小方框

那可能吗?哪种方法最好?

(我可以使用jQuery)

3 个答案:

答案 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调用(如果需要)。我担心的是,如果你真的想经常提交,那么我也担心验证。如果你愿意的话,你也可以让它提交整个表格,而不仅仅是一个盒子。但说实话,我根本不喜欢这个想法