2012-01-30 118 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