JQuery中serialize()、serializeArray()和param()方法
下面是伺服器端的jsp程式碼:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <% request.setCharacterEncoding("UTF-8"); String username = request.getParameter("username"); String content = request.getParameter("content"); out.println("<div class='comment'><h6> "+username+" :</h6><p class='para'> "+content+" </p></div>"); %>
與JQuery中其他方法一樣,serialize()方法也是作用於一個JQuery物件,它能夠將DOM元素內容序列化為字串,用於ajax請求。通過使用serialize()方法,可以提交本頁面的所有域,程式碼如下:
$("#send").click(function(){
$.get("get1.jsp", $("#form1").serialize(), function(data, textStatus)
$("#resText").html(data);
});
});
當單擊“提交”按鈕後,所有屬於form1的表單元素都能提交到後臺,即使在表單中再增加欄位,指令碼仍然能夠使用,並且不需要做其他多餘工作。
用字串方式時,需要注意對字元編碼(中文問題),如果不希望編碼帶來麻煩,可以使用serialize()方法,它會自動編碼。
因為serialize()方法作用於JQuery物件,所以不光只有表單能使用它,其他選擇器選取的元素也都能使用它,如以下JQuery程式碼:
$(":checkbox,:radio").serialize();
把複選框和單選框的值序列化為字串形式,只會將選中的值序列化。
在JQuery中還有一個與serialize()類似的方法--serializeArray(),該方法不是返回字串,而是將DOM元素序列化後,返回JSON格式的資料。JQuery程式碼如下:
var fields = $(":checkbox,:radio").serializeArray();
console.log(fields); //用FireBug輸出
$.param()方法是serialize()方法的核心,用來對一個數組或物件按照key/value進行序列化。
比如將一個普通的物件序列化:
var obj = {a:1,b:2,c:3};
var k = $.param(obj);
alert(k); //輸出a=1&b=2&c=3
相關推薦
JQuery中serialize()、serializeArray()和param()方法
下面是伺服器端的jsp程式碼: <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <% request.setCharacterEncoding("UTF-8");
jquery中使元素顯示和隱藏方法之間的區別
第一個 設置 不可見 效果 三種 透明 元素 實現 使用 在實際的項目開發中,要使一個元素隱藏的方法有很多,比如css的多種屬性和jquery的多種方法,雖然他們的作用都是使元素不可見,但是各個方法實現的原理是不一樣的。下面主要介紹jquery各個元素隱藏方法之間的區別。
js中toLocalString()、toString()和valueOf()方法
布爾 locals body 值類型 屬於 計算 函數 pos 使用 所有的對象都具有toLocaleString()、toString()和valueOf()方法,toString() 1、Array.toString():將數組轉換成一個字符串,並且返回這個字符串。描述
jQuery中$.get()、$.post()和$.ajax()
nag post 這就是 也有 定義 消息 ram 結果 通用 jQuery.get()方法: $.get(url,data,success(response,status,xhr),dataType) 該函數是簡寫的 Ajax 函數,等價於: [javasc
jQuery中wrap、wrapAll和wrapInner用法以及區別
wrap、wrapAll和wrapInner都是包裹節點,但是在使用的時候總是容易混淆,不太明白具體的區別。簡單的來說;wrap(): 將所有匹配元素單獨包裹起來wrapAll(): 將所有匹配元素一
內容包裝:jQuery中wrap、wrapAll和wrapInner用法以及區別
wrap, 使用函式來規定在每個被選元素周圍包裹的內容。 <ul> <li title='蘋果'>蘋果</li> <li title='橘子'>橘子</li> <li title='菠
jQuery中bind、live和delegate的區別
DOM樹 首先,視覺化一個HMTL文件的DOM樹是很有幫助的。一個簡單的HTML頁面看起來就像是這個樣子: 事件冒泡(又稱事件傳播) 當我們點選一個連結時,其觸發了連結元素的單擊事件,該事件則引發任何我們已繫結到該元素的單擊事件上的函
Java中Iterator、forEach和forEach()方法遍歷的效率
程式碼如下: package Common; import java.util.HashMap; import java.util.Iterator; import java.util.Map; /** * @Description 探究Iterator、
jquery中append、prepend, before和after方法的區別(一)
mod serve com oos 兄弟節點 sha pos 插入 5% 原文:http://blog.csdn.net/woosido123/article/details/64439490 在 jquery中append() 與 prepend()是在元素內插
jquery中append、prepend, before和after方法的區別(二)
1.append()與after() 這兩個都是在元素的後面插入內容,不同的是前者是在元素內部插入(作為該元素的子元素),後者是在元素外部插入(作為該元素的兄弟元素);但是這裡我要講的是,當用表單驗證中用到這兩個方法時的區別:append()比較正常;而after()則會沒
Jquery中html()、text()、val()的使用和區別
center () .text div 使用 avi innerhtml mar font jquery中獲取對象內容的方法主要有3種,分別是html()、text()、val()。 obj.html():獲取對象包裹的所有html內容,相當於innerHTML。
python中@staticmethod、@classmethod和實例方法
dir pri cep ear 代碼 應用 can 打印 靜態 1.形式上的異同點: 在形式上,Python中:實例方法必須有self,類方法用@classmethod裝飾必須有cls,靜態方法用@staticmethod裝飾不必加cls或self,如下代碼所示: 1
jquery 中阻止預設事件和事件冒泡的方法
1.在事件的處理中,可以阻止預設事件和冒泡事件。return false $("li").on('click',function(){ return false; }) 2.在事件的處理中,可以阻止預設事件但是允許冒泡事件的發生。 e.preventDefault
python中hasattr、getattr和setattr的使用方法
hasattr(object, name)判斷一個物件裡面是否有name屬性或者name方法,返回BOOL值,有name特性返回True, 否則返回False。需要注意的是name要用括號括起來 1 >>> class test(): 2 ...
JS中為什麼會存在escape、encodeURI和encodeURIComponent方法
1.為什麼需要以上三個方法? 當我們瀏覽網頁的時候看,會在瀏覽器的位址列輸入相應的URL地址,然而對於URL中的可以出現的字元是有要求的。 對於URL中的可以出現的字元要求可詳見RFC 1738,具體為以下內容: Thus, only alphan
Jquery中.bind()、.live()、.delegate()和.on()之間的區別詳解
簡介 最近了解到很多網頁開發者對jquery中的 .bind() .live() .delegate() 和 .on() 方法存在很多的疑惑。這些疑惑通常是關於它們之間真正的區別是什麼啊,什麼時候該使用它們啊。下面本文將給大家詳細介紹這四個方法之間的區別,分別對每個方法都進
C#中二進位制、十進位制和十六進位制互相轉換的方法
二進位制在C#中無法直接表示,我們一般用0和1的字串來表示一個數的二進位制形式。比如4的二進位制為“100”。下面介紹C#裡面用於進位制轉換的方法。 十進位制轉換為二進位制(int-->stri
js和jquery中建立標籤新增屬性的方法
js方式建立標籤及新增屬性 <script> var tr = document.getElementById('tr_id1') //根據id屬性獲取tr標籤 var t
js中的call()方法、apply()和bind()方法的區別以及使用場景
在js中,所有的函式再被呼叫的時候都會預設傳入兩個引數,一個是this,還有一個是arguments。在預設情況下this都是指當前的呼叫函式的物件。但是有時候我們需要改變this的指向,也就是說使函式可以被其他物件來呼叫,那麼我們應該怎樣做呢?這時候我們就可以使用call,apply和bi
Java執行緒中sleep()、wait()和notify()和notifyAll()、yield()、join()等方法的用法和區別
Java執行緒中sleep()、wait()和notify()和notifyAll()、suspend和resume()、yield()、join()、interrupt()的用法和區別從作業系統的角度講,os會維護一個ready queue(就緒的執行緒佇列)。並且在某一