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");

}

});

returnfalse;

});

});

现在这个form就绑定好jQuery封装的异步提交方法了,简单吧!

 

 

 

 

=====================================================

the secondmethod

    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"]%>" />
   <divclass="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表单了。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值