关于表单序列化的三种方法

表单序列化:

方法1:serialize(): 就是把表单信息序列化成一个字符串 (认为最常用 的方法)

<html>
<head>
<script type="text/javascript" src="/jquery/jquery.js"></script>
<script type="text/javascript">
$(document).ready(function(){
  $("button").click(function(){
    $("div").text($("form").serialize());
  });
});
</script>
</head>
<body>
<form action="">
First name: <input type="text" name="FirstName" value="Bill" /><br />
Last name: <input type="text" name="LastName" value="Gates" /><br />
</form>

<button>序列化表单值</button>
<div></div>
</body>
</html>

  

最终序列化出的结果就是:FirstName=Bill&LastName=Gates 
这样的一个字符串

方法2:serializeArray() 
它返回的是一个json 对象 而不是一个字符串

<html>
<head>
<script type="text/javascript" src="/jquery/jquery.js"></script>
<script type="text/javascript">
$(document).ready(function(){
  $("button").click(function(){
    x=$("form").serializeArray();
var x = JSON.stringify(x)
document.write(x)

  });
});
</script>
</head>
<body>
<form action="">
First name: <input type="text" name="FirstName" value="Bill" /><br />
Last name: <input type="text" name="LastName" value="Gates" /><br />
</form>

<button>序列化表单值</button>
<div id="results"></div>
</body>
</html>

这是最后获取出来的值 [{"name":"FirstName","value":"Bill"},{"name":"LastName","value":"Gates"}]

方法3:是自己自定义的serializeJson()方法:

<form>
    <input type="text" name="username" />
    <input type="text" name="password" />
</form>  

<script>
jQuery.prototype.serializeObject=function(){
    var obj=new Object();
    $.each(this.serializeArray(),function(index,param){
        if(!(param.name in obj)){
            obj[param.name]=param.value;
        }
    });
    return obj;
};
</script>

  

最后执行 得到的结果如下:

jQuery("form").serializeObject(); //{username:"",password:""} 

原文地址:https://www.cnblogs.com/tanzq/p/9857213.html

时间: 2024-08-01 04:08:54

关于表单序列化的三种方法的相关文章

js实现表单序列化的两种方法。

function serialize(form) { var parts = [], elems = form.elements, i = 0, len = elems.length, filed = null; for (; i < len; i++) { filed = elems[i]; switch (filed.type) { case "select-one": case "select-multiple": if (filed.name.leng

html表单提交的几种方法

原文地址:http://www.ijser.cn/?p=34 最普通最经常使用最一般的方法就是用submit type..看代码: <form name=”form” method=”post” action=”#"> <input type=”submit” name=”submit” value=”提交"> </form> 另外,另一种经常使用的方法是使用图片: <form name=”form” method=”post” action=

Sql Server删除数据表中重复记录 三种方法

本文介绍了Sql Server数据库中删除数据表中重复记录的方法. [项目]数据库中users表,包含u_name,u_pwd两个字段,其中u_name存在重复项,现在要实现把重复的项删除![分析]1.生成一张临时表new_users,表结构与users表一样:2.对users表按id做一个循环,每从users表中读出一个条记录,判断new_users中是否存在有相同的u_name,如果没有,则把它插入新表:如果已经有了相同的项,则忽略此条记录:3.把users表改为其它的名称,把new_use

js阻止表单提交的两种方法

<body>     <form action="clock.html" method="post" onsubmit="return checkLength()">         <p>name:<input type="text" name="user" id="user"></p>         <input t

form表单提交的几种方法

<form id="myform" name="myform" method="post" onsubmit="return sumbitTest();" action="RegisterAction.action"> <table> <tr> <td>姓名:</td> <td> <input type="text&qu

jquery表单重置另一种方法

页面中按钮为<a>标签时,点击取消按钮,表单内容重置,需要给form表单id="form": <a class="demo_one1" onclick="shut()">Cancel</a> function shut(){ $("#form").get(0).reset();}

js表单提交的三种方式

第一种: <script type="text/javascript"> function check(form) { if (form.userId.value == '') { alert("请输入用户帐号!"); form.userId.focus(); return false; } if (form.password.value == '') { alert("请输入登录密码!"); form.password.focus(

接收表单参数的几种方法

1.第一种     Map<String, String[]> paramMaps = request.getParameterMap();//接受参数 String  表单名=((String[]) paramMaps.get("表单名"))[0]; 获取表单数据时总是用request.getParameter(“name”),根据表单中的name值获取value值,需要获取几项就得重复写几次getParameter,而request.getParameterMap方法则

Node.JS的表单提交及OnceIO中接受GET/POST数据的三种方法

OnceIO 是 OnceDoc 企业私有内容(文档)管理系统的底层Web框架,它可以实现模板文件.静态文件的全缓存,运行起来完全不需要I/O操作,并且支持客户端缓存优化,GZIP压缩等(只压缩一次),拥有非常好的性能,为您节约服务器成本.它的模块化功能,可以让你的Web进行分布式存储,在一个扩展包里即可包含前端.后端和数据库定义,只需通过添加/删除目录的方式就可实现功能删减,实现真正的模块化扩展.目前 OnceIO 已经开源,本文主要介绍node.js语言中的表单提交及OnceIO中接受GET