2012-01-30 122 views
1

我有一個表單,它具有名稱,值和類的實時追加輸入類型hiddens,它們都是有意義的。我想把這個和張貼到我的PHP的JSON值。所以我在做jQuery SerializeArray/Param獲取類名?

並且工作正常,但它只獲取名稱和值。我也需要這個類,因爲它有一個存儲在其中的唯一ID,我不能存儲在名稱或值中,因爲它們也存儲唯一的ID。

所以我的問題/選項是。

  1. 我可以以某種方式在名稱中存儲兩個唯一的ID,這樣可以進行處理嗎?也許一個{id1:1,id2:2}或別的名字值?
  2. 我可以讓serializeArray也得到類名嗎?輸入類型的

實施例隱藏在我的名字和類的末尾添加

<input type="hidden" class="photo_spot_1" name="photo_spot_5" value="../uploads/2462df38db374653720daa42b7aefec4/g6qjcn30kw_c.png">

通知所述兩個不同的ID。

回答

1

你不能像{id1:1,id2:2}元素的ID,也serializeArray不會從輸入字段的類型信息,但你可以編寫自己的邏輯來獲取。現在

var data = [], obj; 
$('form input[type=hidden]').each(function(){ 
    obj = {}; 
    obj[this.name] = this.value; 
    obj["class"] = this.className 
    data.push(obj); 
}); 

可以使用data其中將包含每個隱藏的輸入與爲名稱/值和類信息。

0

你最好的辦法是在你序列化你的表單並做你的文章之前,把這些獨特的類放到一個隱藏的輸入中。這將使您的服務器端代碼更容易訪問這些值。

事情是這樣的:

$("#hiddenInput1").val($("#el1")[0].className); 
var storage = $.param($('form input[type=hidden]').serializeArray(), true); 
+0

我對你的意思有點困惑,你的意思是把我需要的所有3個ID都存儲在3個不同的輸入中?我已經爲他們存儲了輸入。 – Steven 2012-01-30 18:54:29

+0

@Steven - 我可能不明白,但是你說你需要這個類,並且想要一個解決方法來獲取當前類與其他表單一起發佈。我在說這將是一個痛苦,而更簡單的方法是將該類的值放到* new *隱藏的輸入中,然後*執行序列化和發佈 – 2012-01-30 18:55:57