如何发布与jQuery的许多领域一个形式?(How to post a form with many

2019-07-17 18:21发布

虽然$。阿贾克斯()可以用来做AJAX的事情,我不认为它适合张贴大单的值。

你将如何post一个大单(多领域),而无需手动输入所有呢?

Answer 1:

什么是假设的背后你的理由? POST是专为使用GET传输数据的较大数额。 一个AJAX POST请求几乎是完全一样的“普通” POST请求,它只是捆绑在一个稍微不同的方式通过浏览器进行内部处理。 一对夫妇头可能会略有不同,但数据是完全一样的。 AJAX为什么不处理“大”的形式?

请问您甚至无论如何定义为“大”的形式?

编辑:谢谢你的澄清你的问题。 我知道你现在要问什么,我看到你来自哪里。 对于很多的投入形式,它可能是一个痛苦的将其捆绑成一个Ajax请求的所有时间。

由于您使用jQuery,有一个简单的解决了这一点。 退房的序列化()方法。 你给它一个形式,它给你回所有的表单输入元素和值,你可以直接传递给Ajax请求的查询字符串。 还有的手册页,显示它是如何做的还有一个例子。

所有你需要做的是这样的:

$.ajax({
    data: $("form").serialize(),
    //etc.
});

其中, "form"是你的表单的id。



Answer 2:

你可能想使用序列化 ,如果你不想手动为每个元素处理。

$.ajax({
   type: "POST",
   url: "form.php",
   data: $("#form_id").serialize()
   success: function(msg) {
     alert("Form Submitted: " + msg);
   }
 });


Answer 3:

您可以使用jQuery.post( url, data, callback, type) ,作为其简单jQuery.ajax( options )

通过使用serialize ,你可以自动发送整个表单。

$.post("/post_handler/",
    $("form#my_form").serialize(),
    function(json){
        /*your success code*/
    }, "json");

一个更完整的例子:

<script>
$().ready(function(){
    $("form#my_form submit").click(function(){
        $.post("/post_handler/",
            $("form#my_form").serialize(),
            function(json){
                /*your success code*/
            }, "json");
        return false;
    });
}
</script>
<form id="my_form" action="/post_handler/" method="post">
  <input type="text" name="text1" value="my text 1" />
  <input type="text" name="text2" value="my text 2" />
  <input type="submit" name="submit_button" value="Send" />
</form>

这将覆盖默认的post ,并与AJAX执行它。



Answer 4:

如果你还没有尝试过呢。 然后创建一个单(现在你的意思等等),并使用$.ajax()或窗体的jQuery插件张贴。 你就会知道,如果它是这样的事情还是不行!

编辑: - (你的编辑后),然后形成插件是为你! 试一试。



Answer 5:

尝试的jQuery插件的形式 。

它可能不正是你需要做的开箱即用的东西。



Answer 6:

我已经派相当复杂的(大)的形式与$阿贾克斯(),也没有问题。 我还没有发送的文件在Ajax请求,但我已经看到它完成,因为它不占用浏览器当你上传它工作得更好,然后传统的职位。

基于您的评论对@zombat,我想这是你有一个非常大量的投入,其中大部分将是空的大部分时间。 这里1两点建议)分裂投入独立的形式,只有尽快互送,因为它被触摸/完成。 2)检查与JavaScript的表单的状态,并包裹信息到JSON或XML,而是发布表单数据,只是后的数据结构。

“大”不应该是一个问题,你或许可以找到一个更好的形容词来描述你的数据,这将让大家知道为什么它是很难发。



Answer 7:

什么你问是不是很难。 所有你所要做的就是收集表格的内容和(通常是使用JSON)它传递到您的服务器。

看看这个HOWTO:

http://code.tutsplus.com/tutorials/submit-a-form-without-page-refresh-using-jquery--net-59



文章来源: How to post a form with many fields with jQuery?