| 両方とも前のリビジョン前のリビジョン次のリビジョン | 前のリビジョン |
| study:javascript:jquery:clear-form [2011/03/28 09:12] – [code snippet] banana | study:javascript:jquery:clear-form [2017/11/28 04:26] (現在) – [code snippet] banana |
|---|
| <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> | <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> |
| <title>demo page for form reset using jQuery</title> | <title>demo page for form reset using jQuery</title> |
| |
| <link rel="stylesheet" type="text/css" media="screen" href="css/screen.css" /> | |
| |
| <script type="text/javascript" src="./test/js/jquery-1.4.2.js"></script> | <script type="text/javascript" src="./test/js/jquery-1.4.2.js"></script> |
| <tr> | <tr> |
| <td><label for="email">text field(default): </label></td> | <td><label for="email">text field(default): </label></td> |
| <td><input type="text" size="15" maxlength="70" name="email" id="txt_email" value="support@nsk.com"></td> | <td><input type="text" size="50" maxlength="70" name="email" id="txt_email" value="support@nsk.com"></td> |
| </tr> | </tr> |
| <tr> | <tr> |
| function clearForm(){ | function clearForm(){ |
| if(confirm('データをクリアにしてよろしいですか?')){ | if(confirm('データをクリアにしてよろしいですか?')){ |
| $("input[type='text'], textarea").not("input[readonly='true'], :hidden, :button, :submit, :reset").val(""); | $("input[type='text'], textarea").not("input[readonly='true'], input[type='hidden'], :button, :submit, :reset").val(""); |
| $("input[type='radio'], input[type='checkbox'], select").removeAttr("checked").removeAttr("selected"); | $("input[type='radio'], input[type='checkbox'], select").removeAttr("checked").removeAttr("selected"); |
| $("select option:first-child").attr("selected", "selected"); | $("select option:first-child").attr("selected", "selected"); // 1.6以前のバージョン |
| | $("select").prop("selectedIndex", "0"); // 1.6以降 |
| } | } |
| } | } |
| 詳細は下で説明する。 | 詳細は下で説明する。 |
| ===== browser issue for readonly field ===== | ===== browser issue for readonly field ===== |
| IEでreadonlyフィルタが効くのは**readonly='true'である。\\ | IEで**readonly**フィルターが効くのは**readonly='true'**である。\\ |
| FFでreadonlyフィルタが効くのは**readonly='readonly'である。\\ | FFで**readonly**フィルターが効くのは**readonly='readonly'**である。\\ |
| ただし、readonlyのみ書いてある場合は**readonly=''**で書かないと認識ができない。\\ | ただし、**readonly**のみ書いてある場合は**readonly=''**で書かないと認識ができない。\\ |
| ブラウザことに挙動が違うので、確実な方法はnameで指定するのが最善だと思う。\\ | ブラウザことに挙動が違うので、確実な方法は**name**で指定するのが最善だと思う。もっとスマートな方法はないのかな?? |
| もっとスマートな方法はないのかな?? | ~~DISCUSSION~~ |
| |
| |
| |