[jquery] jQuery 양식 직렬화-빈 문자열

내 HTML :

 <script type="text/javascript">

    $(function() {

        $("#bt1").click(function() {

            var f = $("#form1");
            var formData = f.serialize();

            alert(formData);
        });

    });
</script>

 <div id="div1">
      <form id="form1" action="/Home/Test1" method="post" name="down">
        <div id="div2">
            <input id="input1" type="text" value="2" />
        </div>
      </form>
  </div>

 <input type="submit" id="bt1" />

클릭 이벤트를 시작하면 formData가 비어 있습니다. jQuery 1.4.2를 사용하고 있습니다.



답변

당신은 포기해야 input요소의 이름을. 예 :

<form id="form1" action="/Home/Test1" method="post" name="down">
    <div id="div2">
        <input id="input1" type="text" value="2" name="foo"/>
    </div>
</form>

경고 상자에 표시 foo=2됩니다.

.serialize()양식 필드의 이름과 값을 가져와 name1=value1&name2=value2. 이름이 없으면 그러한 문자열을 만들 수 없습니다.

참고 name다른 무언가이다 id. 양식을 “정상적인”방식으로 사용했다면 양식도 작동하지 않을 것입니다. 모든 양식 필드에는 이름이 필요합니다.


답변

이 특정 예제에는 적용되지 않지만 하나 이상의 양식 입력이 disabled. 이러한 입력은 직렬화 된 문자열에 표시되지 않습니다. 제 경우에는 모든 양식 입력에 값이 있지만 비활성화되어 빈 문자열이 반환됩니다.


답변

name입력에 속성 이 없습니다 … 직렬화에 문제가 될 수 있습니다.

<input id="input1" type="text" value="2" name="input1" />


답변

또한 페이지에 동일한 ID를 가진 2 개의 요소가 없는지 확인하십시오.


답변