インプットボックスとインプットボタンを対で作成し、作成した複数のインプットボタンをどれも選択可能にする。
但し、作成できるインプットボックスとインプットボタンの対は仕様上3セットまでにしている。(拡張は容易)
インプットボタンの追加は一度しかできないよう、二度目に指定された場合はプログラムの再ロードを指示する。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 | <!DOCTYPE html> < html lang = "UTF-8" > < head > < meta http-equiv = "content-type" content = "text/html; charset=UTF-8" > < title >input要素を複数追加</ title > < style > #wrapper{width: 380px;} dt{background: lightblue; padding:4px; margin-top:8px;} dd{margin:2px;} </ style > < script type = "text/javascript" > function onbtnClickAll( vlu ) { target = document.getElementById("dispInput"); target.innerHTML = vlu; } function onbtnClick1() { val = document.getElementById("txt_val1").value; onbtnClickAll(val); } function onbtnClick2() { val = document.getElementById("txt_val2").value; onbtnClickAll(val); } function onbtnClick3() { val = document.getElementById("txt_val3").value; onbtnClickAll(val); } var doOnce = 0; function addElement() { if (doOnce > 0) { alert("プログラムをロードしなおして実行してください。"); } else { doOnce++; var elemNum = document.getElementById("txt_elemNum").value; // alert("elemNum=" + elemNum); if (elemNum<=3) { var achEle = document.getElementById("anchor"); for(var i=1; i<=elemNum; i++) { var divEle = document.createElement('div'); divEle.id = "div" + i; divEle.style.margin = "5px"; achEle.appendChild(divEle); var subAchEle = document.getElementById(divEle.id); var element_input = document.createElement('input'); element_input.id = "txt_val"+i; element_input.type = "text"; element_input.style = "width:10px;"; element_input.maxLength = "3"; subAchEle.appendChild(element_input); // div要素にinput textエレメントを追加 var element_btn = document.createElement('input'); element_btn.id = "btn_disp"+i; element_btn.type = "button"; element_btn.value = "表示 "+i; element_btn.setAttribute("onclick", "onbtnClick"+i+"();"); subAchEle.appendChild(element_btn); // div要素にinput buttonエレメントを追加 } } else { alert("作成する要素の個数は3個以下です。"); } } } </ script > </ head > < body > < div id = "wrapper" > < h1 >input要素を複数追加</ h1 > < input type = "text" id = "txt_elemNum" size = "1" maxLength = "1" >個 < button onclick = "addElement()" >要素を追加</ button > < dl > < dt >input情報の入力は< span id = "dispInput" ></ span ></ dt > </ dl > < div id = "anchor" ></ div > </ div > </ body > </ html > |