ajax中 form post提交的解决方案

在处理Ajax 的form提交时 总是要从表单中一个一个的取值 很是麻烦 今天发现 phototype 1.5.1.2有了一个很好的解决方案 现在把代码粘贴如下

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
 <head>
  <title>Prototype examples</title>
  <script type="text/javascript" src="prototype-1.5.1.2.js">
   </script>
  <script>
function postIt()
{
 var f=$('formID');
 
  var element = f.serialize(); 
  alert("element=" + element.inspect());
  f.request({
  method: 'POST',
  parameters: 'us=4&ws=5',
  onComplete: showResult 
 })
}
 
 function showResult(request)
 {
 var obj=request.responseText;
  alert(obj);
 }
</script>
 </head>

 <body>
  <div id='systemWorking' style="display: none">
   Loading...
  </div>
  
  <br />

  <form id="formID" method="POST" action="1.jsp"
   οnsubmit="return false">
   <fieldset>
    <legend>
     User info
    </legend>
    <div>
     <label for="username">
      Username:
     </label>
     <input type="text" name="username" id="username" value="" />
    </div>
    <div>
     <label for="age">
      Age:
     </label>
     <input type="text" name="age" id="age" value="" size="3" />
    </div>

    <div>
     <label for="hobbies">
      Your hobbies are:
     </label>
     <select name="hobbies" id="hobbies" multiple="multiple">
      <option>
       coding
      </option>
      <option>
       swimming
      </option>
      <option>
       hiking
      </option>
      <option>
       drawing
      </option>
     </select>
    </div>
    <div class="buttonrow">
     <input type="submit" οnclick="postIt()" value="serialize!" />
    </div>
   </fieldset>
  </form>

  <script>

var myGlobalHandlers = {

onCreate: function(){

Element.show('systemWorking');

},

onComplete: function() {

if(Ajax.activeRequestCount == 0){

Element.hide('systemWorking');

}

}

};

Ajax.Responders.register(myGlobalHandlers);
</script>
 </body>
</html>

 

1.jsp
---------------------
<%@ page language="java" contentType="text/html;charset=UTF-8" %><%
String s=request.getParameter("us");
String s2=request.getParameter("age");
out.print(s+" "+s2);
%>

注意事情:

1.phototype 要在1.5.0以上才可以测试通过

2.Ajax.Responders.register(myGlobalHandlers); 这个东东是在调用Ajax的时候显示一个调用的提示 具体可以测试看其效果

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值