この記事では主に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 サイトの他の関連記事を参照してください。