ホームページ >ウェブフロントエンド >jsチュートリアル >jquery でのフォームのシリアル化に関するガイダンス

jquery でのフォームのシリアル化に関するガイダンス

巴扎黑
巴扎黑オリジナル
2017-08-07 16:36:281209ブラウズ

この記事では主にjqueryフォームのシリアル化に関する注意事項をサンプルコードを通して詳しく紹介していますので、必要な方はエディタをフォローして一緒に学ぶことができます。

この記事では、主に jquery フォームのシリアル化に関するいくつかの注意事項を紹介します。参考と学習のために共有します。以下では詳しく説明しません。

まず説明します。フォーム内の読み取り専用と無効の違い:

読み取り専用は入力とテキストエリアにのみ有効ですが、無効はラジオ、チェックボックスなどを含むすべてのフォーム要素に有効です。
無効がフォームで使用されている場合、ユーザーは選択できません。つまり、このテキスト ボックスはフォーカスを取得できませんが、readonly はフォーカスを取得できますが、読み取り専用です

最も重要な点は、フォーム送信時にフォームのコントロール属性が設定されることです。 name 属性がありません。このフィールドは送信されず、キーと値のペアも形成されません。フォーム コントロール属性が無効な場合、このフィールドは送信されず、キーと値のペアも形成されません。

テスト 1、name 属性が設定されていません:


<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、name 属性を設定します:

<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>

テスト結果は次のとおりです:


これは、フォーム コントロールに name 属性がなく、シリアル化できないことを証明します。無効な属性が設定されている場合に実行されます。


**無効にシリアル化する必要がある場合、方法は次のとおりです:


シリアル化する前に無効化属性を削除し、シリアル化が完了した後に追加します。 **

以上がjquery でのフォームのシリアル化に関するガイダンスの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。