> 웹 프론트엔드 > JS 튜토리얼 > jquery의 양식 직렬화에 대한 몇 가지 지침

jquery의 양식 직렬화에 대한 몇 가지 지침

巴扎黑
풀어 주다: 2017-08-07 16:36:28
원래의
1213명이 탐색했습니다.

이 글에서는 주로 jquery 양식 직렬화에 대한 주의 사항을 소개합니다. 이 글에서는 누구나 참고할 수 있는 학습 가치가 있는 샘플 코드를 통해 자세히 소개합니다.

이 기사에서는 주로 jquery 양식 직렬화에 대한 몇 가지 주의 사항을 소개합니다. 참고 및 학습을 위해 공유합니다. 아래에서는 자세한 소개를 살펴보겠습니다.

먼저 이야기해 보겠습니다. 양식에서 읽기 전용과 비활성화의 차이점:

readonly는 입력 및 텍스트 영역에만 유효하지만 비활성화는 라디오, 확인란 등을 포함한 모든 양식 요소에 유효합니다.
양식에서 비활성화를 사용하는 경우 사용자는 선택할 수 없습니다. 즉, 이 텍스트 상자는 포커스를 얻을 수 없지만 읽기 전용은 포커스를 얻을 수 있지만 수정할 수는 없습니다.

가장 중요한 점은 양식을 보낼 때 컨트롤이 양식의 속성에 이름 속성이 없습니다. 이 필드는 전송되지 않으며 키-값 쌍을 형성하지 않습니다. 양식 제어 속성이 비활성화된 경우 이 필드는 전송되지 않으며 키도 형성되지 않습니다. -값 쌍

테스트 1, 이름 속성이 설정되지 않음:


<body>
 <form id="form1">
   <select>
    <option value="0">葫芦娃测试0</option>
    <option value="1">葫芦娃测试1</option>
    <option value="2">葫芦娃测试2</option>
   </select>
   <input type="button" id="btnSubmit" value="提交" name="btnSubmit" />
 </form>
 <script type="text/javascript">
  $(document).ready(function () {
   $("#btnSubmit").click(function () {
    console.log("serialize:");
    console.log($("#form1").serialize());
    console.log("serializeArray:");
    console.log($("#form1").serializeArray());
   });
  });
 </script>
</body>
로그인 후 복사

출력 결과는 다음과 같습니다.


serialize:

 serializeArray:
[]length: 
__proto__: Array(0)
로그인 후 복사

테스트 2, 이름 속성 설정 :


<body>
 <form id="form1">
   <select name="selectHuLuWa">
    <option value="0">葫芦娃测试0</option>
    <option value="1">葫芦娃测试1</option>
    <option value="2">葫芦娃测试2</option>
   </select>
   <input type="button" id="btnSubmit" value="提交" name="btnSubmit" />
 </form>
 <script type="text/javascript">
  $(document).ready(function () {
   $("#btnSubmit").click(function () {
    console.log("serialize:");
    console.log($("#form1").serialize());
    console.log("serializeArray:");
    console.log($("#form1").serializeArray());
   });
  });
 </script>
</body>
로그인 후 복사

출력 결과는 다음과 같습니다.


serialize:
 selectHuLuWa=0
 serializeArray:
 [{…}]
{name: "selectHuLuWa", value: "0"}
length:1
__proto__:Array(0)
로그인 후 복사

test 3. readoly 속성을 설정합니다.


<body>
 <form id="form1">
   <select name="selectHuLuWa" readonly="readonly">
    <option value="0">葫芦娃测试0</option>
    <option value="1">葫芦娃测试1</option>
    <option value="2">葫芦娃测试2</option>
   </select>
   <input type="button" id="btnSubmit" value="提交" name="btnSubmit" />
 </form>
 <script type="text/javascript">
  $(document).ready(function () {
   $("#btnSubmit").click(function () {
    console.log("serialize:");
    console.log($("#form1").serialize());
    console.log("serializeArray:");
    console.log($("#form1").serializeArray());
   });
  });
 </script>
</body>
로그인 후 복사

테스트 결과는 다음과 같습니다 :

테스트 4. 비활성화 속성 설정


<body>
 <form id="form1">
   <select name="selectHuLuWa" disabled="disabled">
    <option value="0">葫芦娃测试0</option>
    <option value="1">葫芦娃测试1</option>
    <option value="2">葫芦娃测试2</option>
   </select>
   <input type="button" id="btnSubmit" value="提交" name="btnSubmit" />
 </form>
 <script type="text/javascript">
  $(document).ready(function () {
   $("#btnSubmit").click(function () {
    console.log("serialize:");
    console.log($("#form1").serialize());
    console.log("serializeArray:");
    console.log($("#form1").serializeArray());
   });
  });
 </script>
</body>
로그인 후 복사

테스트 결과는 다음과 같습니다.

이는 폼 컨트롤에 이름 속성이 없음을 증명합니다. 비활성화된 속성이 설정된 경우 직렬화를 수행할 수 없습니다.

**disabled를 직렬화해야 하는 경우 방법은 다음과 같습니다.

직렬화하기 전에 비활성화된 속성을 제거하고 직렬화가 완료된 후 추가합니다. **

위 내용은 jquery의 양식 직렬화에 대한 몇 가지 지침의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿