2012-01-30 4 views
1

이름, 값 및 클래스가있는 입력 형식 hiddens가 추가 된 라이브 양식이 있습니다. 모두 의미가 있습니다. 나는 이것을 받아 내 php에 json 값을 게시하고 싶다. 그래서 내가하고있어jQuery SerializeArray/Param이 클래스 이름을 가져 오겠습니까?

그리고 잘 작동하지만 이름과 값만 가져옵니다. 클래스에 고유 한 ID가 저장되어 있기 때문에 클래스가 필요합니다.이 ID는 고유 한 ID를 저장하기 때문에 이름이나 값에 저장할 수 없습니다.

내 질문/옵션이 있습니다.

  1. 처리 될 이름에 2 개의 고유 ID를 어떻게 든 저장할 수 있습니까? 어쩌면 {id1:1,id2:2} 또는 이름 값으로 뭔가?
  2. serializeArray가 클래스 이름도 가져올 수 있습니까? 입력 유형의

예 내가 이름과 클래스의 끝에서

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

주의 두 개의 다른 아이디의 추가 숨겨져.

답변

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

폼을 serialize하고 게시물을 작성하기 전에 가장 적합한 방법은 이러한 고유 한 클래스를 사용하여 숨겨진 입력에 던져 넣는 것입니다. 이렇게하면 서버 측 코드에서 이러한 값에 훨씬 쉽게 액세스 할 수 있습니다. 이 같은

뭔가 :

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

나는 조금이라도 혼란 스럽다. 나는 필요한 3 개의 ID를 모두 가져 와서 3 개의 다른 입력에 저장한다는 의미인가? 나는 이미 그들에 대한 입력을 저장한다. – Steven

+0

@Steven - 이해가 안되지만 수업이 필요하다고 말했고 현재 수업을 나머지 양식과 함께 게시하려면 해결 방법을 원했습니다. 나는 이것이 고통이 될 것이라고 말하고있다. 그리고 더 쉬운 방법은 그 클래스 값을 * 새로운 * 숨겨진 입력에 던지기 위해서이다. * 그리고 나서 * 직렬화와 게시를한다. –

관련 문제