14:00Webプログラマが誰でも一度はハマる「チェックボックスが1個の時のみ発生するバグ」を解説します。必須チェックの誤動作バグ上の画面は、ワークフロー機能でよくある承認画面です。チェックボックスで選択したデータは、[承認]ボタンをクリックすることで、状態を「承認待ち」から「承認済み」へ変更できます。入力チェックとして、「選択0件で承認ボタンをクリックしたときはエラー表示」という処理をJavaScriptで実装しています。ところが、データが1件の時だけ、「選択しているのに『1件も選択されていません』というエラーが出る」というバグが発生しました。バグコード入力チェックのコードは、次のようになっていました。alert("1件も選択されていません。false;}フォーム部品に関係するHTMLは、データが3件ある場合は次のようになっています。check();"></form>チェックボックスのタグ(太字部分)は、サーバ側プログラムにより動的に生成されるもので、バグ発生時は1行しか出力されていませんでした。「DOMを利用した修正」を追加しました。著者プロフィール山城拓明(ヤマシロヒロアキ)Web系SE。某企業にてWebシステム開発や新人Java研修講師を担当。Webアプリケーション開発における「よくあるハマるバグ」をまとめ、著書「バグ攻略で極めるWeb開発のツボ」(翔泳社)を出版。圧縮・解凍UNIX基本講座@CodeZine『CodeZine(コードジン)』の公式アカウントです。【NEW】デブスト2019デブサミ2019福岡・関西デブサミ2019夏デブスト関西デブサミ2019×ログインEメールパスワード※旧SEメンバーシップ会員の方は、同じ登録情報(Eメール&パスワード)でログインいただけます。イラストの無断転載を禁じます。記載されているロゴ、システム名、製品名は各社及び商標権者の登録商標あるいは商標です。