jquery实现ajax提交表单的方法总结

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jquery实现ajax提交表单的方法总结相关的知识,希望对你有一定的参考价值。

方法一:

分别获取所需数据元素,DOM结构外层不用包form标签(适用于数据量少,数据元素分散于整个页面)

$.ajax({
  type: ‘POST‘,
   url:‘‘,
   data: {
        residence:[$(‘#region_1‘).val(),$(‘#region_2‘).val(),$(‘#region_3‘).val()],
        address:$(‘#address‘).val()
   },
   dataType: ‘json‘,
   success: function(data){
   },
   error:function(err){
   }
   });

方法二:

需要包裹form标签(适用于数据量大,元素集中)

function AddHandlingFeeToRefund()
        {
            var AjaxURL= "../OrderManagement/AjaxModifyOrderService.aspx";       
            alert($(‘#formAddHandlingFee‘).serialize());
                $.ajax({
                    type: "POST",
                    dataType: "html",
                    url: AjaxURL + ‘?Action=‘ + ‘SubmitHandlingFee‘ + ‘&OrderNumber=‘ + $.trim($("#<%=this.txtOrderNumber.ClientID %>").val()),
                    data: $(‘#formAddHandlingFee‘).serialize(),
                    success: function (result) {
                        var strresult=result;
                        alert(strresult);
                        //加载最大可退金额
                        $("#spanMaxAmount").html(strresult);
                    },
                    error: function(data) {
                        alert("error:"+data.responseText);
                     }
                });
        }

html代码:

<form id="formAddHandlingFee" name="formAddHandlingFee" enctype="multipart/form-data" onsubmit="AddHandlingFeeToRefund()">
                    <table id="AddHandlingFee" class="Wfill">
                        <tr>
                            <td>
                                <asp:Literal ID="UI_Amount" runat="server" Text="处理费用" meta:resourcekey="HandlingFeeAmount" />
                            </td>
                            <td>
                                <input type="text" id="txtHandlingFeeAmount" name="txtHandlingFeeAmount"  class="{required:true,number:true}" maxlength="12" />
                            </td>
                        </tr>
                        <tr>
                            <td>
                                <asp:Literal ID="UI_HandlingFeeType" runat="server" Text="费用类型" meta:resourcekey="HandlingFeeHandlingFeeType" />
                            </td>
                            <td>
                                <crmweb:HtmlSelectControl ID="HandlingFeeType" EnumTypeName="DX.OMS.Model.Common.HandlingFeeType,DX.OMS.Model.Common" EmptyValue="" EmptyText="Select" runat="server" class="text {required:true}"/>
                            </td>
                        </tr>
                        <tr>
                            <td>
                                <asp:Literal ID="UI_Notes" runat="server" Text="备注" meta:resourcekey="HandlingFeeNotes" />
                            </td>
                            <td>
                                <textarea id="txtNotes" name="txtNotes" class="text {required:true}" cols="22" rows="2" maxlength="100"></textarea>
                            </td>
                        </tr>

                        <tr>
                            <td>
                            </td>
                            <td>
                                <input id="Submit1" type="submit" value="添加处理费"  />
                                <asp:Button ID="Button1"  runat="server" Text="添加处理费" OnClientClick="javascript:AddHandlingFeeToRefund()" />
                            </td>

                        </tr>
                    </table>
                    </form>

 

以上是关于jquery实现ajax提交表单的方法总结的主要内容,如果未能解决你的问题,请参考以下文章

使用JQuery的.ajax()提交表单后当前页面表单内容被清空,请问如何保留数据?

jquery如何实现form提交无刷新返回一个页面

jQuery实现form表单基于ajax无刷新提交方法详解

使用JQuery的ajax提交表单能否使用一个变量来获取form的id

用的ajax提交的表单,js base64编码怎么用

ajax 提交表单的方法2