2017-09-08 5 views
0

양식의 모든 필드 값을 단일 개체로 변환하는 다음 코드가 있습니다. 그러나 동적으로로드되는 숨겨진 필드는 변환하지 않습니다 (그러나 값이 하드 코드 된 경우 변환됩니다).serializeArray()가 동적으로로드 된 숨겨진 필드와 함께 작동하지 않습니다.

내 연구에 따르면 serializeArray()는 이름이있는 한 숨겨진 필드를 포함해야합니다. 그리고 내 이름이 있습니다. 그래서 나는 여기서 무엇이 잘못되었는지 알 수 없다.

serializeArray() : JQuery와

을 사용하여 숨겨진 필드 값

var data = {}; 
$("#form1").serializeArray().forEach(function(x){ 
    data[x.name] = x.value; 
}); 
console.log(data); 

동적 로딩

$("#field1").val("400"); //400 is just an example here 

형태 :

serializeArra : 문제

<form id="form1"> 
    <!-- Not serialized --> 
    <input type="hidden" name="field-value.hidden.1" id="field1" value=""/> 

    <div class="container"> 
     <div class="row"> 
      <div class="col-sm-12"> 
       <!-- Works fine --> 
       <textarea id="field2" name="field-value.show.1" rows="3" cols="10"></textarea> 
      </div> 
     </div> 
    </div> 
</form> 

개요

<input type="hidden" name="field-value.hidden.1" id="field1" value="400"/> 

하지만이되지 않은 경우 : 입력과 같은 경우 y를 작동 난 그냥 여기 읽기에서 발견

<input type="hidden" name="field-value.hidden.1" id="field1" value=""/> 

$("#field1").val("400"); 

답변

0

한 운동 : (https://stackoverflow.com/a/25402639/4996722)

$("input[id=field1]").val("400"); 제대로 값을 둘 것 거기에. 그러나 이것은 동일한 문제이므로 $("#field1").val("400")이 작동하지 않는 이유가 없기 때문에 JQuery 버그 일 수 있습니다.