function addEvent (o,c,h){ if(o.attachEvent){ o.attachEvent('on' c,h); o.addEventListener(c,h,false); } return true;} var selectRow;//選択された行を保存して、ポップアップウィンドウ 行割り当て function addnode() { var table=document.getElementById("Dy_table"); var tr=table.insertRow(); tr.insertCell(); var cell1=tr.insertCell(); var cell3=tr.insertCell(); insertCell(); var cell5=tr.insertCell(); var cell7=tr.insertCell() ); var cell9=tr.insertCell(); var hidden1=document.createElement(" ") ; var hidden2=document.createElement(" "); var hidden3=document.createElement(" "); var hidden4=document.createElement(" ");//行ステータス var hidden5=document .createElement(" ");//単価を非表示 var input1=document.createElement(" "); var input2=document.createElement(" "); var input3=document.createElement(" "); var input4=document.createElement(" var input5=document.createElement(" "); var input6 =document.createElement( ""); var input7=document.createElement(" "); var input8=document.createElement(" ") ; var input9=document.createElement("<入力タイプ='ボタン' 名前='del' 値='削除' クラス='入力ボタン' onclick='delnode1(this)' >") var oOption1= document.createElement("オプション"); var oOption2=document.createElement("オプション"); var oOption3=document.createElement("オプション"); document.createElement(" オプション"); input6.options.add(oOption2); input6.options.add(oOption3); options.add(oOption4 ); oOption1.innerText="契約部品"; oOption2.innerText="外部委託部品"; "外注部品" "; oOption3.innerText="スペアパーツ部門"; oOption3.value="スペアパーツ部門"; oOption4.innerText="メーカー供給部品"; oOption4。 value="メーカー提供の部品 "; var rowIndex; var rowCount = table.rows[0].cells[0].getElementsByTagName("input") )[2].value ;//ユーザーに表示される行数 cell0.innerText=parseInt(rowCount) 1; table.rows[0].cells[0].getElementsByTagName("input" )[2].value = parseInt( rowCount) 1; hidden2.value = parseInt(table.rows[0].cells[0].getElementsByTagName("input")[1].value) 1; >table.rows[0].cells [0].getElementsByTagName("input")[1].value=hidden2.value; cell1.appendChild(input1); cell1.appendChild(hidden1);/ /製品コード cell1.appendChild (hidden2);//内部シーケンス cell1.appendChild(hidden3);//変更と削除に使用されるこの行のID cell1.appendChild(hidden4);/ /この行のステータス cell2.appendChild(input3); cell4.appendChild(hidden5); appendChild(input5); cell9.appendChild(input8); cell7.appendChild(input7); =function(obj) { return function(){textChange(obj);} } var ttt=function(obj) { return function(){selectChange (obj);} } addEvent(input1,"change",tt(input1)); addEvent(input2,"change",tt(input1)); "変更",tt(input1)) ; addEvent(input4,"change",tt(input1)); addEvent(input5,"change",tt(input1)); ,"change",ttt(input6) ); addEvent(input7,"change",tt(input1)); // addEvent(input8,"change",tt(input1)); } function delnode()/ /削除時のイベント { var table=document.getElementById("Dy_table"); var rowCount = table.rows[0].cells[0]。 getElementsByTagName("input")[2 ].value;//ユーザーに表示される行の数 var row;//最後に表示される行を保存します for( var i=table.rows.length-1 ; i>=0 ;i--) { if(table.rows[i].style.display!="none") { row=table.rows[i] ; 休憩 } } var rowId=row.cells[1].getElementsByTagName("input")[3].value; if( rowCount > 1 ) { if(rowId=="") //新しく追加された行がデータベースに書き込まれていない場合は、直接削除します { row.removeNode(true); table.rows[0].cells[0].getElementsByTagName("input ")[ 2].value = parseInt(rowCount) - 1; } else//データベースから削除する必要がある場合は、削除マークを設定します { row.style. display="none"; row.cells[1].getElementsByTagName("input")[4].value = "2"; input")[2].value = parseInt(rowCount-1); } } else { if(rowId == "")//新しい行がデータベースに書き込まれていません。クリアします { row.cells.item(1).getElementsByTagName("input")[0].value=""; row.cells.item(1) .getElementsByTagName("input")[1 ].value=""; row.cells.item(2).getElementsByTagName("input")[0].value=""; row.cells. item(3).getElementsByTagName("input ")[0].value="1"; row.cells.item(4).getElementsByTagName("input")[0].value=""; >row.cells.item(7) .getElementsByTagName("input")[0].value=""; row.cells.item(5).getElementsByTagName("input")[0].value=" "; row.cells. item(6).getElementsByTagName("select")[0].selectedIndex=0; } else//データベースから削除する必要がある場合は、マークを削除します { row.style.display="none"; row.cells[1].getElementsByTagName("input")[4].value = "2"; rows[0].cells[0].getElementsByTagName(" input")[2].value = parseInt(rowCount) - 1; addnode(); } } setClf() ; } function delnode1(o) //削除時のイベント { var tr=o.parentElement.parentElement; var table=document.getElementById("Dy_table"); 🎜>var rowCount = table.rows[0].cells[0].getElementsByTagName("input")[2].value;//ユーザーに表示される行数 var rowId=tr.cells[1] ].getElementsByTagName("input")[3].value; if( rowCount > 1 ) { if(rowId=="")//新しく追加された行が書き込まれていない場合データベースを直接削除します。 { tr.removeNode(true ); table.rows[0].cells[0].getElementsByTagName("input")[2].value = parseInt(rowCount) ) - 1; } else { tr.style.display="none"; tr.cells[1].getElementsByTagName("input")[4].value = "2"; table.rows[0].cells[0 ].getElementsByTagName("input")[2].value = } } else { if(rowId=="")// 新しく追加された行がデータベースに書き込まれない場合は、それらを直接クリアします { tr.cells.item(1).getElementsByTagName ("input")[0].value=""; tr.cells.item(1).getElementsByTagName("input")[1].value=""; 2).getElementsByTagName("input")[0].value=""; tr.cells.item(3).getElementsByTagName("input")[0].value="1"; .cells.item(4).getElementsByTagName("input")[0].value=" "; tr.cells.item(7).getElementsByTagName("input")[0].value=""; tr.cells.item(5).getElementsByTagName("input")[0] .value=""; tr.cells.item(6).getElementsByTagName("select")[0].selectedIndex =0; } else//データベースから削除する必要がある場合は、削除タグ { tr.style.display="none"; に置きます。 cell[1].getElementsByTagName("input")[4].value = "2"; table.rows[0].cells[0].getElementsByTagName("input")[2].value = parseInt( rowCount) - 1; addnode(); } } // 以下のループは、中央から削除するときにテーブルの行番号を更新するために使用されます rowCount = table.rows [0].cells[0].getElementsByTagName("input")[2].value; for( var i= 1, p = 1; i { if(table.rows[i].style.display!="none") { table.rows [i].cells[0].innerText = p; 🎜>} } setClf(); } // 関数 textChange(o) { setClf(); を変更したときに発生するイベントvar tr=o.parentElement.parentElement; var rowState = tr.cells[1].getElementsByTagName("input")[4] .value if( rowState == "1") return; ; else tr.cells[1].getElementsByTagName("input")[4].value = "3"; } //ドロップダウン ボックス オプションの変更 setClf()ここでは指定されていない金額を計算します。 function selectChange(o) { var tr=o.parentElement.parentElement; var glf = tr.cells[7].getElementsByTagName("input ")[0]; var dj = tr.cells[4].getElementsByTagName("input")[0]; var dj1 = tr.cells[4].getElementsByTagName("input")[1 ]; if( o.selectedIndex==0)// コントラクト { glf.value='0.00'; dj.value=dj1.value(); return; } if( o.selectedIndex==1)//外注部品 { glf.value='0.20'; dj.value=dj1.value ; setClf(); return; } if( o.selectedIndex==2)// スペアパーツ部門 { glf.value='0.00'; 🎜>dj.value=dj1.value; setClf(); } if( o .selectedIndex==3)//メーカー提供 { glf .value='0.00'; dj.readOnly=true; return; //送信前にデータを検証して重複行がないことを確認します function checkSameData() { var table=document.getElementById("Dy_table") // var rowCount = table .rows[0].cells[0].getElementsByTagName("input")[2].value;//ユーザーに表示される行数 for( var i= 1; i < table.rows .length ;i ) { if(table.rows[i].style.display == "none"||table.rows[i].cells[1].getElementsByTagName("input")[ 1].value == "") 続行; for( var p= i 1; p < table.rows.length ;p ) { if(table.rows[p].style .display == "none") 続行; if(table.rows[i].cells[1].getElementsByTagName("input")[1].value.replace(/s $/g,"") == table.rows[p].cells[1].getElementsByTagName("input")[1].value.replace(/s $/g,"")) {alert("パーツ セクション内の項目が重複しているため、保存できません! ");return false;} } } return true; } //パーツ ウィンドウが開いているかどうか var DialogWin; function selectLj( o)// パーツを選択 { if(dialogWin == null) { selectRow = o.parentElement.parentElement;// 行を割り当てるグローバル変数 dialogWin = window.showModelessDialog("../jddgl/Select_lj.aspx",window, "center:yes;dialogWidth:550px;dialogHeight:400px;help:no;status:no;" ); } }
========
フロントページ