何らかの処理中に入力を抑制したい場合のロジック。
Javascript版です。
以下のようなかんじ。
[disable押下時]
id=”client”配下の入力コントロールを一括でdisableにします。
[undo押下時]
id=”client”配下の入力コントロールを一括でdisable解除します。
ソースは以下。
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>disable test</title> <script type="text/javascript"> function disable_children_controls(win, b) { for(var w of win.children) { if(w.disabled != undefined) w.disabled = b; disable_children_controls(w, b); } } </script> </head> <body> <div id="client"> <div><label>Enter something</label><input type="text"><input type="button" value="go !" onclick="alert('hello !')"></div> <div><input type="checkbox">A<input type="checkbox">B<input type="checkbox">C <input type="radio" checked>X<input type="radio">Y<input type="radio">Z</div> <div><input type="button" value="disable" onclick="disable_children_controls(document.getElementById('client'), true)"></div> </div> <div id="command"> <div align="left"><input type="button" value="undo" onclick="disable_children_controls(document.getElementById('client'), false)"></div> </div> </body> </html>