jQuery Form 表單提交外掛程式之formSerialize,fieldSerialize,fieldValue,resetForm,clearForm,clearFields的應用,serializefield

來源:互聯網
上載者:User

jQuery Form 表單提交外掛程式之formSerialize,fieldSerialize,fieldValue,resetForm,clearForm,clearFields的應用,serializefield

一、jQuery Form的其他api

1. formSerialize

將表單序列化成查詢串。這個方法將返回一個形如: name1=value1&name2=value2的字串。
是否可以連環調用: 否, 這個方法返回的是一個字串。

例子:

var queryString = $('#myFormId').formSerialize(); // the data could now be submitted using $.get, $.post, $.ajax, etc $.post('myscript.jsp', queryString); 

2. fieldSerialize

將表單裡的元素序列化成字串。當你只需要將表單的部分元素序列化時可以用到這個方法。 這個方法將返回一個形如: name1=value1&name2=value2的字串。
是否可以連環調用: 否, 這個方法返回的是一個字串。

例子:

var queryString = $('#myFormId .specialFields').fieldSerialize();

3. fieldValue

取出所有匹配要求的域的值,以數組形式返回。 從 0.91 版本開始, 這個方法 始終 返回一個數組。 如果沒有合格域,這個數組將會是個空數組,否則它將會包含至少一個值。
是否可以連環調用: 否, 這個方法返回的是一個數組。
例子:

// get the value of the password input var value = $('#myFormId :password').fieldValue(); alert('The password is: ' + value[0]);

4. resetForm

通過調用表單元素的內在的DOM 上的方法把表單重設成最初的狀態。
是否可以連環調用: 是
例子:

$('#myFormId').resetForm();

5. clearForm

清空表單所有元素的值。這個方法將會清空所有的文字框,密碼框,文本域裡的值,去掉下拉式清單所有被選中的項,讓所有複選框和單選框裡被選中的項不再選中。
是否可以連環調用: 否

$('#myFormId').clearForm();

6. clearFields

清空某個表單域的值。這個可以用在只需要清空表單裡部分元素的值的情況。
是否可以連環調用: 否

$('#myFormId .specialFields').clearFields();

二、測試的詳細代碼:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><title>jQuery Form 表單提交外掛程式-----formSerialize,fieldSerialize,fieldValue,resetForm,clearForm,clearFields的 應用.</title><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><!-- 引入依賴的js --><script src="jquery-1.3.1.js" type="text/javascript"></script><script src="jquery.form.js" type="text/javascript"></script><script type="text/javascript"> $(document).ready(function() { $('#test').click(function(){var queryString = $('#myForm').formSerialize();alert(queryString);// 組裝的資料可以用於 $.get, $.post, $.ajax ...$.post('demo.jsp', queryString ,function(data){$('#output1').html("提交成功!歡迎下次再來!").show(); }); return false;})//demo2$('#test2').click(function(){var queryString = $('#myForm2 *').fieldValue(); alert(queryString);return false;})//重設表單$('#test3').click(function(){$('#myForm').resetForm();$('#myForm2').resetForm();})//清除表單$('#test4').click(function(){$('#myForm').clearForm();$('#myForm2').clearForm();})}); </script> </head><body><h3> Demo 3 : jQuery Form 表單提交外掛程式-----formSerialize,fieldSerialize,fieldValue,resetForm,clearForm,clearFields的 應用. </h3><!-- demo1 --><form id="myForm" action="demo.jsp" method="post"> 名稱: <input type="text" name="name" /> <br/>地址: <input type="text" name="address" /><br/> 自我介紹: <textarea name="comment"></textarea> <br/><input type="submit" id="test" value="提交" /> <br/><div id="output1" style="display:none;"></div></form><br/><br/><br/><!-- demo2 --><form id="myForm2" action="demo.jsp" method="post"> 名稱: <input type="text" name="name2" class="special"/> <br/>地址: <input type="text" name="address2" /><br/> 自我介紹: <textarea name="comment2" class="special"></textarea> <br/>單選:男<input type="radio" name="a" value="男" checked/> 女<input type="radio" name="a" value="女"/><br/><input type="submit" id="test2" value="提交" /> <br/></form><br/><br/><br/><input type="button" id="test3" value="重設所有表單" /> <br/><input type="button" id="test4" value="清除所有表單" /> (提示:發現單選框以前選中的,也被清除了,跟重設有點區別!)<br/></body></html>

demo.jsp 代碼

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><%request.setCharacterEncoding("UTF-8");//防止亂碼!String name = request.getParameter("name");String address = request.getParameter("address");String comment = request.getParameter("comment");System.out.println(name + " " +address + " " +comment);%>

三、測試效果:

1. formSerialize()測試效果:

空的時候:

填寫英文的時候:

填寫中文的時候:

2. fieldValue()測試效果:

空值的時候:

填寫英文的時候:

填寫中文的時候:

3. resetForm()的測試效果

重設前:

重設後:

4. clearForm()方法的效果:

清除前效果:

清除後效果:

您可能感興趣的文章:
  • jQuery 表單驗證外掛程式formValidation實現個人化錯誤提示
  • jquery form表單提交外掛程式asp.net後台中文解碼
  • jQuery表單驗證外掛程式formValidator(改進版)
  • jQuery-serialize()輸出序列化form表單值的方法
  • jQuery基於ajax()使用serialize()提交form資料的方法

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.