jQuery异步提交form表单

jQuery异步提交form表单
 
这个其实挺简单的,只是一开始我想错了,一开始我打算用jQuery + jQuery.form插件来做,其实不必的,只需要jQuery插件就可以了。
首先,在jsp页面中导入jQuery,
<script type="text/javascript" src="<%=request.getContextPath()%>/js/jquery-1.4.2.js"></script>
然后在jQuery的ready方法中定义form提交时的动作就可以了,
$(document).ready(function() {
// 使用 jQuery 异步提交表单
$('#editRealMsgForm').submit(function() {
jQuery.ajax({
url: 'editRealMsg.eri',
data: $('#editRealMsgForm').serialize(),
type: "POST",
beforeSend: function()
{  
$('#submitButton').hide();
$('#editRealMsgImg').show();
},
success: function()
{
$('#editRealMsgImg').hide();
$('#modifyButton').show();
$('#realName').attr("disabled","true");
$('#tel').attr("disabled","true");
}
});
return false;
});
});
现在这个form就绑定好jQuery封装的异步提交 方法了,简单吧!
 
 
 
 
=====================================================
the second method
     no input id
=======================================================
Jquery来对form表单提交(mvc方案)
Jquery来对form表单提交,下面是一个form表单,里面没有action字段,我们来用Jquery注册事件进行提交,
 
<form method="post" id="documentForm">
    <input type="hidden" id="hidId" name="hidId" value="<%=Request.QueryString["id"] %>" />
    <input type="hidden" id="hidAction" name="hidAction" value="<%=Request.QueryString["action"] %>" />
    <div class="fieldbody">        
        <div class="tagsiglebody">
            <table class="create">
                <tr>
                    <th class="w100">
                        关键字:
                    </th>
                    <td class="nes">
                        <input type="text" id="txtKeyword" name="txtKeyword" class="txt w250" value="<%= ViewData.eval_r("keywords") %>"
                            isnull="0" />
                        关键字请用逗号隔开
                    </td>
                </tr>               
            </table>
        </div>
    </div>
    <div class="btngroup">
        <input type="button" class="btncreateok" id="btnConfirm" value="创建" />
        <input type="button" class="btncreatecancel" οnclick="history.go(-1)" value="取消" />
    </div>
    </form>
在js中的代码如下:
$(document).ready(function () {
    $("#btnConfirm").click(function () {
        $('#documentForm').submitForm({
            url: "/Document/SubmitDocumentCreate",
            dataType: "text",
            callback: function (data) {
                endFileUpload();
                data = eval_r("(" + data + ")");
                alert(data.Content);
                if (data.Result > 0) {
                    location.href = data.Redirect;
                }
            },
            before: function () {
                startFileUpload();
                var errMsg = "";
            }
        }).submit();
    });
}
在js中,我们一定要注意,$(document).ready是必须的,不然会出错,其中对button、form的id进行事件绑定:$("#btnConfirm").click、$('#documentForm').submitForm
然后在$('#documentForm').submitForm方法中给出url和回调方法。
好了,这下就完成了,当然那怎么在Document/SubmitDocumentCreate中获取表单的值呢,用Request.Form["xxxxx"]就可以获取表单的值了。

在Java Web开发中,可以使用AJAX进行异步提交form表单,具体实现步骤如下: 1. 在JSP页面中添加form表单,设置id属性和action属性,例如: ``` <form id="myForm" action="submitForm.do" method="post"> <input type="text" name="username"> <input type="text" name="password"> <button type="submit">提交</button> </form> ``` 2. 在JSP页面中引入jQuery库,例如: ``` <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/jquery.min.js"></script> ``` 3. 使用jQuery的$.ajax方法异步提交form表单,例如: ``` $(document).ready(function() { $('#myForm').submit(function() { $.ajax({ url: $(this).attr('action'), type: $(this).attr('method'), data: $(this).serialize(), success: function(data) { alert('提交成功'); }, error: function(XMLHttpRequest, textStatus, errorThrown) { alert('提交失败'); } }); return false; }); }); ``` 其中,$(this).serialize()方法可以将表单数据序列化为字符串,方便递给后台处理。success和error回调函数分别处理提交成功和提交失败的情况。 4. 在Java后台代码中处理form表单数据,例如: ``` @RequestMapping(value="/submitForm", method=RequestMethod.POST) @ResponseBody public String submitForm(HttpServletRequest request) { String username = request.getParameter("username"); String password = request.getParameter("password"); // 处理表单数据 return "success"; } ``` 其中,@RequestMapping注解设置了请求路径和请求方法,@ResponseBody注解表示返回直接作为响应体输出,不需要经过视图解析器处理。 通过以上步骤,就可以实现AJAX异步提交form表单了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值