dwr操作form表单Select/option,table

本文详细介绍了DWRUtil.js的功能,包括获取页面参数值、初始化下拉框、填充表格等实用函数。此外还展示了如何使用这些函数进行表单操作、文本选择及调试信息输出等。

util.js包含一些有用的函数function,用于在客户端页面调用.

主要功能如下:

代码

  1. 1、$() 获得页面参数值   
  2. 2、addOptions and removeAllOptions 初始化下拉框   
  3. 3、addRows and removeAllRows   填充表格   
  4. 4、getText   取得text属性值   
  5. 5、getValue 取得form表单值   
  6. 6、getValues 取得form多个值   
  7. 7、onReturn     
  8. 8、selectRange   
  9. 9、setValue   
  10. 10、setValues   
  11. 11、toDescriptiveString   
  12. 12、useLoadingMessage   
  13. 13、Submission box  

 

代码

  1. 1、$()函数   
  2.    IE5.0 不支持   
  3.    $ = document.getElementById   
  4.    取得form表单值   
  5.    var name = $("name");  

 

代码

  1. a、如果你想在更新select 时,想保存原来的数据,即在原来的select中添加新的option:   
  2.      var sel = DWRUtil.getValue(id);   
  3.      DWRUtil.removeAllOptions(id);   
  4.      DWRUtil.addOptions(id,...);   
  5.      DWRUtil.setValue(id,sel);   
  6.      demo:比如你想添加一个option:“--请选择--”   
  7. DWRUtil.addOptions(id,["--请选择--"]);   
  8.   
  9.     DWRUtil.addOptions()有5中方式:  

 

代码

  1. @ Simple Array Example: 简单数组   
  2.      例如:   
  3.      Array array = new Array[ 'Africa', 'America', 'Asia', 'Australasia', 'Europe' ];   
  4.      DWRUtil.addOptions("demo1",array);  

 

代码

  1. @ Simple Object Array Example 简单数组,元素为beans   
  2.        这种情况下,你需要指定要显示 beans 的 property 以及 对应的 bean 值   
  3.        例如:   
  4.         public class Person {   
  5.       private String name;   
  6.       private Integer id;   
  7.       pirvate String address;   
  8.       public void set(){……}   
  9.       public String get(){……}   
  10.         }   
  11.         DWRUtil.addOptions("demo2",array,'id','name');   
  12.         其中id指向及bean的id属性,在optiong中对应value,name指向bean的name属性,对应下拉框中显示的哪个值.  

 

代码

  1. @ Advanced Object Array Example 基本同上   
  2.      DWRUtil.addOptions( "demo3",   
  3.                  [{ name:'Africa', id:'AF' },   
  4.                   { name:'America', id:'AM' },   
  5.                   { name:'Asia', id:'AS' },   
  6.                   { name:'Australasia', id:'AU' },   
  7.                   { name:'Europe', id:'EU' }   
  8.          ],'id','name');  

 

代码

  1. @ Map Example 用制定的map来填充 options:   
  2.         如果 server 返回 Map,呢么这样处理即可:   
  3.         DWRUtil.addOptions( "demo3",map);   
  4.         其中 value 对应 map keys,text 对应 map values;  

 

代码

  1. @ <ul> and <ol> list editing   
  2.         
  3.         DWRUtil.addOptions() 函数不但可以填出select,开可以填出<ul>和<ol>这样的heml元素  

 

3、addRows and removeAllRows 填充表格

DWR 提供2个函数来操作 table;

----------------------------

DWRUtil.addRows(); 添加行

----------------------------

DWRUtil.removeAllRows(id); 删除指定id的table

----------------------------

下面着重看一下 addRows() 函数:

DWRUtil.addRows(id, array, cellfuncs, [options]);

其中id 对应 table 的 id(更适合tbodye,推荐使用 tbodye)

array 是server端服务器的返回值,比如list,map等等

cellfuncs 及用返回值来天春表格

[options] 用来设置表格样式,它有2个内部函数来设置单元格样式(rowCreator、cellCreator)。

比如: server端返回list,而list中存放的是下面这个 bean:

代码

  1.        public class Person {   
  2. private String name;   
  3. private Integer id;   
  4. pirvate String address;   
  5. public void set(){……}   
  6. public String get(){……}   
  7.       }  

 

下面用 DWRUtil.addRows();

代码

  1.     function userList(data){   
  2.      //var delButton = "<input type='button'/>";   
  3.      //var editButton = "<input type='button'/>";   
  4.      var cellfuncs = [   
  5.          function(data){return data.id;},   
  6.          function(data){return data.userName;},   
  7.          function(data){return data.userTrueName;},   
  8.          function(data){return data.birthday;},   
  9.          function(data){   
  10.          var idd = data.id;   
  11. var delButton = document.createElement("<INPUT TYPE='button' onclick='delPerson("+ idd +")'>");   
  12.              delButton.setAttribute("id","delete");   
  13.              delButton.setAttribute("value","delete");   
  14.              return delButton;   
  15.          },   
  16.          function(data){   
  17.              var idd = data.id;   
  18.              var editButton = document.createElement("<INPUT TYPE='button' onclick='editPerson("+ idd +")'>");   
  19.              editButton.setAttribute("name","edit");   
  20.              editButton.setAttribute("value","edit");               
  21.              return editButton;   
  22.          }   
  23.      ];   
  24.      DWRUtil.removeAllRows('tabId');   
  25.      DWRUtil.addRows('tabId', data,cellfuncs,{   
  26.      rowCreator:function(options) {   
  27.          var row = document.createElement("tr");   
  28.          var index = options.rowIndex * 50;   
  29.          row.setAttribute("id",options.rowData.id);   
  30.          row.style.collapse = "separate";   
  31.          row.style.color = "rgb(" + index + ",0,0)";   
  32.          return row;   
  33.      },   
  34.      cellCreator:function(options) {   
  35.          var td = document.createElement("td");   
  36.          var index = 255 - (options.rowIndex * 50);   
  37.          //td.style.backgroundColor = "rgb(" + index + ",255,255)";   
  38.          td.style.backgroundColor = "menu";   
  39.          td.style.fontWeight = "bold";   
  40.          td.style.align = "center";   
  41.          return td;   
  42.      }          
  43.      });   
  44.      document.getElementById("bt").style.display = "none";   
  45.       }  

 

4、getText 取得text属性值

DWRUtil.getText(id): 用来获得 option 中的文本

比如:

代码

  1.        <select id="select">  
  2. <option   value="1"> 苹果 </option>  
  3. <option   value="2" select> 香蕉 </option>  
  4. <option   value="3"> 鸭梨 </option>  
  5.        </select>  

 

调用 DWRUtil.getText("select"); 将返回 "香蕉" 字段;

DWRUtil.getText(id);仅仅是用来获得 select 文本值,其他不适用。

5、DWRUtil.getValue(id): 用来获得 form 表单值

有如下几种情况:

代码

  1.       Text area (id="textarea"): DWRUtil.getValue("textarea")将返回 Text area的值;   
  2. Selection list (id="select"): DWRUtil.getValue("select") 将返回 Selection list 的值;   
  3. Text input (id="text"): DWRUtil.getValue("text") 将返回 Text input 的值;   
  4. Password input (id="password"): DWRUtil.getValue("text") 将返回 Password input 的值;   
  5. Form button (id="formbutton"): DWRUtil.getValue("formbutton") 将返回 Form button 的值;   
  6. Fancy button (id="button"): DWRUtil.getValue("formbutton") 将返回 Fancy button 的值;  

 

6、getValues 取得form多个值

批量获得页面表单的值,组合成数组的形式,返回 name/value;

例如: form():

代码

  1.      <input type="textarea" id="textarea" value="1111"/>  
  2.       <input type="text" id="text" value="2222"/>  
  3.       <input type="password" id= "password" value="3333"/>  
  4.       <select id="select">  
  5. <option   value="1"> 苹果 </option>  
  6. <option   value="4444" select> 香蕉 </option>  
  7. <option   value="3"> 鸭梨 </option>  
  8.        </select>  
  9.       <input type="button" id="button" value="5555"/>  
  10.         
  11.       那么: DWRUtil.getValues({textarea:null,select:null,text:null,password:null,button:null})   
  12.       将返回   ^^^^^^^^^^^^^^^^{textarea:1111,select:4444,text:2222,password:3333,button:5555}  

 

7、DWRUtil.onReturn 防止当在文本框中输入后,直接按回车就提交表单。

<input type="text" onkeypress="DWRUtil.onReturn(event, submitFunction)"/>

<input type="button" onclick="submitFunction()"/>

8、DWRUtil.selectRange(ele, start, end);

在一个input box里选一个范围

代码

  1. DWRUtil.selectRange("sel-test", $("start").value, $("end").value);   
  2.   
  3. 比如:<input type="text" id="sel-test" value="012345678901234567890">   
  4.   
  5. DWRUtil.selectRange("sel-test", 2, 15);  

 

9、DWRUtil.setValue(id,value);

为指定的id元素,设置一个新值;

10、DWRUtil.setValues({

name: "fzfx88",

password: "1234567890"

}

); 同上,批量更新表单值.

/***********************************************************************/

11、DWRUtil.toDescriptiveString()

带debug信息的toString,第一个为将要debug的对象,第二个参数为处理等级。等级如下:

0: Single line of debug 单行调试

1: Multi-line debug that does not dig into child objects 不分析子元素的多行调试

2: Multi-line debug that digs into the 2nd layer of child objects 最多分析到第二层子元素的多行调试

<input type="text" id="text">

DWRUtil。toDescriptiveString("text",0);

/******************************************************************************/

12、DWRUtil.useLoadingMessage();

当发出ajax请求后,页面显示的提示等待信息;

代码

  1.     function searchUser(){   
  2. var loadinfo = "loading....."  
  3. try{   
  4.      regUser.queryAllUser(userList);   
  5.      DWRUtil.useLoadingMessage(loadinfo);           
  6. }catch(e){   
  7.   
  8. }   
  9.     }
请分析下面代码: <html> <head> <meta http-equiv="Expires" CONTENT="0"> <meta http-equiv="Cache-Control" CONTENT="no-cache"> <meta http-equiv="Pragma" CONTENT="no-cache"> <title>MIT ERC_V3.6.3</title> <link rel="stylesheet" href="/erc/css/tigris.css" type="text/css" /> <link rel="stylesheet" href="/erc/css/inst.css" type="text/css" /> <link rel="stylesheet" href="/erc/css/datepicker.css" type="text/css" /> <link rel="stylesheet" href="/erc/js/sortable/sortabletable.css" type="text/css" /> <script type="text/javascript" src="/erc/js/datepicker.js"></script> <script type="text/javascript" src="/erc/js/buttonstyle.js"></script> <script type="text/javascript" src="/erc/js/stringutil.js"></script> <script type="text/javascript" src="/erc/js/openwindow.js"></script> <script type="text/javascript" src="/erc/js/sortable/sortabletable.js"></script> <script type="text/javascript" src="/erc/js/filterlist.js"></script> <script type="text/javascript" src="/erc/js/prototype.js"></script> <script type="text/javascript" src="/erc/js/xmlextras.js"></script> <!--script language="javascript" src="http://10.222.4.104:6006/ese/js/ese.js"></script> <script language="javascript" src="http://10.222.4.104:6006/ese/js/xml2json.js"></script--> <!--script src="/erc/dwr/engine.js"></script> <script src="/erc/dwr/util.js"></script> <script src="/erc/dwr/interface/checkSTRNoService.js"></script--> </head> <body marginwidth="0" marginheight="0" onkeydown="if(event.keyCode=='13') return false;" class="composite" > <script> function getHoldLotInfo(){ checkRuncardStatus(); //if(checkRuncardStatus()){ var form = document.forms['updateRequestForm']; var lotId = form.elements["requestForm.lotId"].value; var holdStepNo= form.elements["requestForm.holdStepNo"].value; if(lotId==""){alert("Please key-in one LotId");return false;} if(holdStepNo==""){ form.action="updateHoldLotInfo.action"; checkboxSync();form.submit();alert("Please key-in Hold Step No#:");} if (lotId.indexOf(" ")>0){alert("Lot Id is not allowed space!"); return false;} form.action="updateHoldLotInfo.action"; checkboxSync();form.submit(); //} } function EndQtimeHanle(id){ //alert (id); var QtimeHanle = document.getElementById("EndQtimeHanle"+id); var sQtimeHanle = QtimeHanle.options[QtimeHanle.selectedIndex].text; //alert(sQtimeHanle); var tObj = document.getElementById("allEndQtimeHandle"); var allEndQtimeHandle= tObj.value; //alert (allEndQtimeHandle); if (allEndQtimeHandle==""){ //alert(1); tObj.value = id +","+ sQtimeHanle+ ";"; }else{ //alert(2) //alert (allEndQtimeHandle.indexOf(id+",")); if (allEndQtimeHandle.indexOf(id+",")>=0){ //alert ("Replace"); allEndQtimeHandle=allEndQtimeHandle.replace(id +",;",id +","+ sQtimeHanle+ ";"); //alert ("Replace 1:"+allEndQtimeHandle ); allEndQtimeHandle=allEndQtimeHandle.replace(id +",Mapping;",id +","+ sQtimeHanle+ ";"); //alert ("Replace 2:"+allEndQtimeHandle ); allEndQtimeHandle=allEndQtimeHandle.replace(id +",Ignore;",id +","+ sQtimeHanle+ ";"); //alert ("Replace 3:"+allEndQtimeHandle ); allEndQtimeHandle=allEndQtimeHandle.replace(id +",NULL;",id +","+ sQtimeHanle+ ";"); //alert ("Replace 3:"+allEndQtimeHandle ); tObj.value = allEndQtimeHandle; }else{ //alert (2); tObj.value = allEndQtimeHandle +id +","+ sQtimeHanle+ ";" } } } </script> <textarea id="_HIDDEN_TABLE_SPAN_STEPFORM" style="display:none"> <script> function updateWaferGroupResult(){ var form = document.forms['updateRequestForm']; form.action="updateWaferGroupResult.action"; form.submit(); } </script> <table border="0" cellspacing="1" cellpadding="8" width="100%"> </table> <table border="0" cellspacing="1" cellpadding="8" width="100%"> <tr class="a"> <td>Fab Area:</td> <td> FABJ1A </td> <td>NA<input type="checkbox" disabled="true"> Step No:                    01600</td> <td></td> </tr> <tr class="b"> <a name="1"> <td>Area:</td> <td >YE&FQC</td> <td>Check With RCP<input type="checkbox" disabled="true"></td> <td>Step Serial No:  <strong>1</strong></td> </tr> <tr class="b"> <td>Equipment:</td> <td colspan="3">Eqp Group: JME_MET_ET1</td> </tr> <tr class="b"> <td>Recipe:</td> <td colspan="3">CPBET3KA</td> </tr> <tr class="b"> <td>Wafer ID:</td> <td colspan="2">#02,#03,#04,#05,#06,#07,#08,#09,#10,#11,#12,#13,#14,#15,#16,#17,#18,#19,#20,#21,#22,#23,#24,#25</td><td>Qty.: 24</td> </tr> <tr class="b"> <td>Contamination Flag: </td> <td colspan="3">NA</td> </tr> <tr class="b"> <td colspan="4">实际下货Tools:</td> </tr> <tr class="b"> <td>Remark:</td> <td colspan="3">1</td> </tr> <tr> <td bgcolor="#87CEFF" colspan=9> <b> Qtime Configuration <font color="#0000FF">Start </font> at this Step in Mainflow,need setting after 'add the step': </b> </td> </tr> <tr > <td bgcolor="#DCDCDC" width=15% colspan=2><b>Qtime info:</b></td> <td bgcolor="#DCDCDC" colspan=7> <TABLE border=0 cellSpacing=1 cellSpacing=1 width="100%"> <TR> <TD >Plan ID </TD> <TD >Plan Ver </TD> <TD ><font color="#0000FF"><B><Red>StrStepSeq</font></TD> <TD >EndStepSeq</TD> <TD >IntervalTime</TD> <TD >ControlType</TD> <TD >ExpireAction</TD> <TD >mpsStepSeq</TD> </TR> <TR> <TD >JLF100UPI0L01</TD> <TD >15</TD> <TD ><font color="#0000FF"><B>01600</font></TD> <TD >01700</TD> <TD >60</TD> <TD >Max Time</TD> <TD >Hold Lot</TD> <TD ></TD> </TR> </Table> </td> </tr> </script> <tr bgcolor="#FFFFFF"> <td colspan="4"> </td></tr> <tr bgcolor="#FFFFFF"> <td colspan="4"> </td></tr> <tr class="b"> <td colspan="4"> <center> </center> </td> </tr> </table> <table border="0" cellspacing="1" cellpadding="8" width="100%"> <script> function doQTime(groupResult){ var form = document.forms['updateRequestForm']; form.action="comeinQTime.action?method=fromMainPage&groupResultId="+groupResult; form.submit(); } function doMainFlowQTime(groupResult){ var form = document.forms['updateRequestForm']; form.action="comeinMainFlowQTime.action?method=fromMainPage&groupResultId="+groupResult; form.submit(); } </script> <tr class="b"> <th colspan="4">Group Result</th> </tr> <tr class="b"> <td colspan="4"> <table border="0" cellspacing="1" cellpadding="8" width="100%"> <input type="hidden" name="groupResults[0].id" value="113213" /> <tr class=odder> <td><b>Wafer List</b></td> <td colspan=2 align=left><b>Step List</b></td> <td colspan=2><b>QTime(m)</b></td> <td></td> </tr> <tr class=odder> <td>#02,#03,#04,#05,#06,#07,#08,#09,#10,#11,#12,#13,#14,#15,#16,#17,#18,#19,#20,#21,#22,#23,#24,#25</td> <td width=15% colspan=2 align=left>01</td> <td colspan=2> <table border="0" cellspacing="1" cellpadding="8" width="100%"> <tr><TD><B>Type:</B>Max Time <B>Period:</B>60 <B>From:</B>1 <B>To:</B>01700 <B>mpsStepSeq:</B> <B>Action:</B>Hold Lot</TD></tr> </table> </td> <td> <input type="button" name="btnAddQtime" value="AddQTime" onclick="doQTime('113213')" class="button"> <BR> <input type="button" name="btnAddMainFlowQtime" value="AddMainFlowQTime" onclick="doMainFlowQTime('113213')" class="button"> </td> </tr> </table> </td> </tr> </table> </textarea> <script> window.opener.document.getElementById("SPAN_STEPFORM").innerHTML = document.getElementById("_HIDDEN_TABLE_SPAN_STEPFORM").value; </script> <style type="text/css"> <!-- .TextBoxReadOnly { border:1px solid #C0C0C0; text-align:left; background-color:#D3D3D3; width:200px; readonly:expression(this.readOnly=true); } .TextBoxReadWrite { border:1px solid #C0C0C0; text-align:left; background-color:#FFFFFF; width:200px; readonly:expression(this.readOnly=false); } --> </style> <script> var area="normal"; window.onload=function(){ //opener.document.updateRequestForm.updateWaferGroupResultBtn.click(); var fabName=document.forms['stepForm'].elements["stepForm.fabName"].value; if((fabName=="FAB1" ||fabName=="FAB2") && area.indexOf("DIFF")!=-1){ document.getElementById("showRemark").style.display=''; } var area=document.forms['stepForm'].elements["stepForm.area"]; if('FABJ1A'=="S1" && 'Normal'=="Scan Defect" && area.value == ""){ if(fabName=="A"){ area.value="S1A-PHOTO-M"; } else if(fabName=="B"){ area.value="S1B-PHOTO-M"; } else if(fabName=="C"){ area.value="S1C-CMP"; } } } function checkboxSync(){ var stepForm=document.forms['stepForm']; if ( (typeof stepForm.elements["rcpCheck"]!= "undefined") && stepForm.elements["rcpCheck"].checked){ stepForm.elements["stepForm.RCP"].value="on"; }else{ stepForm.elements["stepForm.RCP"].value="uncheck"; } if ( (typeof stepForm.elements["noStepNoPar"]!= "undefined") && stepForm.elements["noStepNoPar"].checked){ stepForm.elements["stepForm.noStepNo"].value="on"; }else{ stepForm.elements["stepForm.noStepNo"].value="uncheck"; } } function changeShow(object){ var stepForm=document.forms['stepForm']; var fabName=object.value; if("Engineering"==fabName) { if(!confirm("请注意您现在选择使用的是engineer folder 下的recipe!")) { stepForm["stepForm.recipeType"][0].checked=true; stepForm.action="viewStepForm.action"; checkboxSync(); stepForm.submit(); } } if("Matrix"==fabName) { if(!confirm("请注意您现在选择的是FEM run模式!")) { stepForm["stepForm.batchType"][0].checked=true; return false; } } if(object.value=="") { alert("Please select the fab area!"); return false; } if((fabName=="FAB1" ||fabName=="FAB2") && area.indexOf("DIFF")!=-1) { document.getElementById("showRemark").style.display=''; } else { document.getElementById("showRemark").style.display='none'; } if("Engineering"==fabName || "Production"==fabName || "Matrix"==fabName) { if("Engineering"==fabName) stepForm.action="viewStepForm.action?stepForm.batchType=Production"; else if("Matrix"==fabName) stepForm.action="viewStepForm.action?stepForm.energyStep=&stepForm.focusStep="; else stepForm.action="viewStepForm.action"; } else stepForm.action="viewStepForm.action?command=&stepForm.area="; checkboxSync(); stepForm.submit(); } function restrictLength(object){ var stepForm=document.forms['stepForm']; var value=object.value; if(value=="Eqp ID") { alert("输入的Eqp ID 的最大长度为7位!"); } } function checkNA(object){ var stepForm=document.forms['stepForm']; var eqpName=stepForm.elements["stepForm.eqpModeName"].value; var value=object.value; if(eqpName=="DUMMY" ||eqpName.indexOf("DMY02")!=-1){ if(value!="NA"){ alert("EQPName is DUMMY.You must select the 'NA'!"); object[object.length-1].selected=true; return false; } } } function showOvl(){ window.open('showOvl.action','','left=0,top=200,width=760,height=200'); } function defalutValue(){ var stepForm=document.forms['stepForm']; var chk=stepForm.elements['rcpCheck']; var area=stepForm.elements['stepForm.area']; var trackOutRecipe= stepForm.elements["stepForm.trackOutRecipe"]; if(chk.checked==false) { alert("如果想指定Chamber去auto run,可以把“Check with RCP”前边的勾去掉,Recipe里填写recipe name_chamber list(或者中划线“-”)"); if(areaValue=="PHOTO" || areaValue=="S1A-PHOTO" || areaValue=="S1B-PHOTO" ||areaValue=="S1C-PHOTO" || areaValue=="M1A-PHOTO" || areaValue=="M1B-PHOTO" || areaValue=="M1C-PHOTO" || areaValue=="SXA-PHOTO" || areaValue=="SXC-PHOTO") trackOutRecipe.value="recipe name_chamber list"; else stepForm.elements["stepForm.recipe"].value="recipe name_chamber list"; } else { alert("请填写正确的Recipe"); if(areaValue=="PHOTO" || areaValue=="S1A-PHOTO" || areaValue=="S1B-PHOTO" ||areaValue=="S1C-PHOTO" || areaValue=="M1A-PHOTO" || areaValue=="M1B-PHOTO" || areaValue=="M1C-PHOTO" || areaValue=="SXA-PHOTO" || areaValue=="SXC-PHOTO") trackOutRecipe.value="waiting Pi_Run Result"; else stepForm.elements["stepForm.recipe"].value="waiting Pi_Run Result"; } } function clearSpec(){ var stepForm=document.forms['stepForm']; stepForm.elements['stepForm.spec'].value=""; } function showSpec(){ var stepForm=document.forms['stepForm']; //stepForm.elements['stepForm.spec'].value=""; var value= stepForm.elements['stepForm.ecdPlanName'].value; if(value==""){ alert("Please input the EdcPlan"); return false;} window.open('showSpec.action?requestFormId=113203&edcPlan=' + value + '','','status=no,scrollbars=yes,location=no,resizable=yes,left=0,top=200,width=760'); } function changeByArea(object){ var stepForm=document.forms['stepForm']; if($F("stepForm.fabName")==""){ alert("Please select the fab area !"); return false; } var value=object.value; var eqpId=stepForm.elements["stepForm.eqpMode"].value; var eqpValue=stepForm.elements["stepForm.eqpModeName"].value; if(eqpId=="Eqp ID"){ if(eqpValue=="dummy" ||eqpValue=="DUMMY" || eqpValue.indexOf("DMY02")!=-1){ //DMY02 for cension if(areaValue=="PHOTO" || areaValue=="S1A-PHOTO" || areaValue=="S1B-PHOTO" ||areaValue=="S1C-PHOTO" || areaValue=="M1A-PHOTO" || areaValue=="M1B-PHOTO" || areaValue=="M1C-PHOTO" || areaValue=="SXA-PHOTO" || areaValue=="SXC-PHOTO"){ alert("Please do not set area as PHOTO for DUMMY Eqp ID!") stepForm.elements["stepForm.area"].focus(); } } } stepForm.elements["stepForm.eqpModeName"].value=""; if(typeof stepForm.elements["stepForm.recipe"]!= "undefined") stepForm.elements["stepForm.recipe"].value=""; if(typeof stepForm.elements["stepForm.trackOutRecipe"]!= "undefined") stepForm.elements["stepForm.trackOutRecipe"].value=""; stepForm.action="changeArea.action?stepForm.recipeType=Production"; checkboxSync(); stepForm.submit(); } function changeValeuToNumber(object){ var objectValue=object.value; var pattern = /[^\d\.\+\-]/g; if(pattern.test(objectValue)){ alert("请输入正确的数字格式"); object.value=""; object.focus(); } if("energyStep"==object.id) {if( eval(objectValue)>1000 || eval(objectValue)<-1000.0) { alert("EnergyStep的范围在 (-1000~1000)."); object.value=""; object.focus(); } } if("focusStep"==object.id) {if( eval(objectValue)>2 || eval(objectValue)<-2) { alert("FocusStep的范围在 (-2~2)."); object.value=""; object.focus(); } } } function eqpToUpper(object){ var form = document.forms['stepForm']; var mode=form.elements["stepForm.eqpMode"].value; var areaValue=form.elements["stepForm.area"].value; var value=object.value; var reg=/\s/g; var stringLength=value.replace(reg,""); if(mode!="Eqp Group"){ object.value=stringLength.toUpperCase(); } if(mode=="Eqp ID"){ if(stringLength.length>7) {alert("最多7个字符!"); object.value=""; object.focus(); return false; } if(stringLength=="dummy" ||stringLength=="DUMMY" || stringLength.indexOf("DMY02")!=-1){ //DMY02 for cension if(areaValue=="PHOTO" || areaValue=="S1A-PHOTO" || areaValue=="S1B-PHOTO" ||areaValue=="S1C-PHOTO" || areaValue=="M1A-PHOTO" || areaValue=="M1B-PHOTO" || areaValue=="M1C-PHOTO" || areaValue=="SXA-PHOTO" || areaValue=="SXC-PHOTO"){ alert("Please do not set area as PHOTO for DUMMY Eqp ID!"); form.elements["stepForm.area"].focus(); return false; } if (typeof form.elements["stepForm.recipe"]!= "undefined"){ form.elements["stepForm.recipe"].value="DUMMY"; form.elements["stepForm.recipe"].className="TextBoxReadOnly"; // checkNA(form.elements['stepForm.contaminationFlag']); } }else if(typeof form.elements["stepForm.recipe"]!= "undefined") form.elements["stepForm.recipe"].className="TextBoxReadWrite"; } } function scannerToUpper(){ var form = document.forms['stepForm']; var element = form.elements["stepForm.scannerRecipe"]; element.value =element.value.toUpperCase(); } function trackToUpper(){ var form = document.forms['stepForm']; var element = form.elements["stepForm.trackOutRecipe"]; element.value =element.value.toUpperCase(); } function recipeToUpper(){ var form = document.forms['stepForm']; var element = form.elements["stepForm.recipe"]; element.value =element.value.toUpperCase(); } function getStepLotInfo(){ var form = document.forms['stepForm']; var chk= form.elements['rcpCheck']; var noStepNo= form.elements['noStepNoPar']; if (typeof form.elements["noStepNoPar"]!= "undefined"){ if (!noStepNo.checked && form.elements["stepForm.stepNo"].value==""){ alert("Please input step No."); form.elements["stepForm.stepNo"].focus(); return false; } if (noStepNo.checked && form.elements["stepForm.stepNo"].value!=""){ alert("Please unCheck NA."); return false; } } form.action="updateStepInfo.action?ercParams=true"; checkboxSync(); disableButton(); form.submit(); } function checkBoxValue(param){ var returnPara=param; var form = document.forms['stepForm']; var chk= form.elements['rcpCheck']; var noStepNo= form.elements['noStepNoPar']; if (typeof form.elements["noStepNoPar"]!= "undefined"){ } return returnPara; } function checkPageToSubmit(){ var form = document.forms['stepForm']; var chk= form.elements['rcpCheck']; var noStepNo= form.elements['noStepNoPar']; var eqpID=$F("stepForm.eqpMode"); var eqpIDValue=$F("stepForm.eqpModeName"); var areaValue=$F("stepForm.area"); var stepNo=form.elements["stepForm.stepNo"]; if (typeof form.elements["noStepNoPar"]!= "undefined"){ var elementMes = form.elements["stepForm.stepNoMes"].value; var element = form.elements["stepForm.stepNo"].value; if (elementMes==null || element!=elementMes){ alert("Please click [go] to get MES information."); form.elements["stepForm.stepNo"].focus(); return false; } } EndQtimeHanle(113228); if((eqpIDValue=="dummy" || eqpIDValue=="DUMMY")&& (areaValue=="PHOTO" || areaValue=="S1A-PHOTO" || areaValue=="S1B-PHOTO" ||areaValue=="S1C-PHOTO" || areaValue=="M1A-PHOTO" || areaValue=="M1B-PHOTO" || areaValue=="M1C-PHOTO" || areaValue=="SXA-PHOTO" || areaValue=="SXC-PHOTO") && eqpID=="Eqp ID"){ alert("Please do not set area as PHOTO for DUMMY Eqp ID!"); $("stepForm.area").focus(); return false; } if (typeof form.elements["noStepNoPar"]!= "undefined"){ if (!noStepNo.checked && form.elements["stepForm.stepNo"].value==""){ alert("Please input step No."); form.elements["stepForm.stepNo"].focus(); return false; } if (noStepNo.checked && form.elements["stepForm.stepNo"].value!=""){ alert("Please unCheck NA."); return false; } } if(form.elements['stepForm.slotId'].value!="") { if(form.elements['stepForm.ecdPlanName'].value=="") {alert("Please Input Corrective EDC Plan Name!"); form.elements['stepForm.ecdPlanName'].focus(); return false;} } if(form.elements['stepForm.ecdPlanName'].value!="") { if(form.elements['stepForm.slotId'].value=="") { alert("Please select SlotId!"); return false; } else { if(!checkWaferIdIsEqualSlotId(form)){ alert("Meas slot id is not in wafer id list"); return false; } } } if (typeof form.elements["stepForm.spec"]!= "undefined"){ var element = form.elements["stepForm.spec"].value; if (element==""&&form.elements['stepForm.slotId'].value!=""){ alert("Please Input Corrective EDC Plan Name!"); form.elements["stepForm.ecdPlanName"].focus(); return false; } } if (typeof form.elements["stepForm.area"]!= "undefined"){ var element = form.elements["stepForm.area"].value; if (element=="Please Select"){ alert("Please select area."); form.elements["stepForm.area"].focus(); return false; } } if (typeof form.elements["stepForm.waferId"]!= "undefined"){ var element = form.elements["stepForm.waferId"].value; if (element==""){ alert("Please select waferId."); form.elements["stepForm.waferId"].focus(); return false; } } if (typeof form.elements["stepForm.eqpModeName"]!= "undefined"){ var element = form.elements["stepForm.eqpModeName"].value; var elementFlag = form.elements["stepForm.contaminationFlag"].value; if (element=="" || element=="NA"){ alert("Equipment ID/Group can not be null or NA!"); form.elements["stepForm.eqpModeName"].focus(); return false; } if((element=="DUMMY" || element.indexOf("DMY02")!=-1)&& elementFlag!="NA"){ alert("EQPName is DUMMY.You must select the Contamination Flag 'NA'!"); return false; } } if (typeof form.elements["stepForm.recipe"]!= "undefined"){ var element = form.elements["stepForm.recipe"].value; if (element==""){ alert("Recipe can not be null"); form.elements["stepForm.recipe"].focus(); return false; } } if (typeof form.elements["stepForm.area"]!= "undefined"){ var element = form.elements["stepForm.area"].value; if (element==""){ alert("Area can not be empty"); form.elements["stepForm.area"].focus(); return false; } } if (typeof form.elements["stepForm.scannerRecipe"]!= "undefined"){ var element = form.elements["stepForm.scannerRecipe"].value; if (element==""){ alert("Scanner Recipe can not be null"); form.elements["stepForm.scannerRecipe"].focus(); return false; } } if (typeof form.elements["stepForm.trackOutRecipe"]!= "undefined"){ var element = form.elements["stepForm.trackOutRecipe"].value; if (element==""){ alert("Track Recipe can not be null"); form.elements["stepForm.trackOutRecipe"].focus(); return false; } } if (typeof form.elements["stepForm.waferSlotId"]!= "undefined"){ var element = form.elements["stepForm.waferSlotId"].value; if (element==""){ alert("Wafer/Slot Id can not be null"); form.elements["stepForm.waferSlotId"].focus(); return false; } } if (typeof form.elements["stepForm.contaminationFlag"]!= "undefined"){ var element = form.elements["stepForm.contaminationFlag"].value; var eqpName = form.elements["stepForm.eqpModeName"]; if (element=="Please Select"){ alert("Please Select Contamination Flag:"); form.elements["stepForm.contaminationFlag"].focus(); return false; } } if (typeof form.elements["stepForm.remark"]!= "undefined"){ var element = form.elements["stepForm.remark"].value; if(element.length>150) { alert("Remark 最多150个字符"); return false; } if(element.indexOf(">")!=-1 ||element.indexOf("<")!=-1){ alert("Remark can not have special character!"); form.elements["stepForm.remark"].focus(); return false; } if (element==""){ alert("Remark can not be null!"); form.elements["stepForm.remark"].focus(); return false; }else{ removeEnter(form.elements["stepForm.remark"]); } } if (typeof form.elements["stepForm.reticleId"]!= "undefined"){ var element = form.elements["stepForm.reticleId"].value; if (element==""){ alert("ReticleID can not be null!"); form.elements["stepForm.reticleId"].focus(); return false; } } if (typeof form.elements["stepForm.energy"]!= "undefined"){ var element = form.elements["stepForm.energy"].value; if (element==""){ alert("Energy can not be null!"); form.elements["stepForm.energy"].focus(); return false; } } if (typeof form.elements["stepForm.focus"]!= "undefined"){ var element = form.elements["stepForm.focus"].value; if (element==""){ alert("Focus can not be null!"); form.elements["stepForm.focus"].focus(); return false; } } if (typeof form.elements["stepForm.ovlData"]!= "undefined"){ var element = form.elements["stepForm.ovlData"].value; if (element==""){ alert("OVL Data can not be null!"); form.elements["stepForm.ovlData"].focus(); return false; } } if (typeof form.elements["stepForm.fabName"]!= "undefined"){ var element = form.elements["stepForm.fabName"].value; if (element==""){ alert("Please Select the Fab Area!"); form.elements["stepForm.fabName"].focus(); return false; } } if( typeof form.elements["stepForm.energyStep"]!= "undefined") { if(""==$F("stepForm.energyStep")) { alert("Please input the energyStep"); $("stepForm.energyStep").focus(); return false; } } if( typeof form.elements["stepForm.focusStep"]!= "undefined") { if(""==$F("stepForm.focusStep")) { alert("Please input the energyStep"); $("stepForm.focusStep").focus(); return false; } } form.action="addStepForm.action?ercParams=true"; checkboxSync(); disableButton(); form.submit(); } function checkWaferIdIsEqualSlotId(object){ //第二个参数中的 g 表示全部匹配,i表示忽略大小写 var regS = new RegExp("S","gi"); var regS1=new RegExp("#","gi"); var slotIds; var waferIds; var slotId=object.elements["stepForm.slotId"].value; var waferId=object.elements["stepForm.waferId"].value; if(slotId.indexOf("S")!=-1){ slotIds=slotId.replace(regS,""); }else{ slotIds=slotId.replace(regS1,""); } if(waferId.indexOf("S")!=-1){ waferIds=waferId.replace(regS,""); }else{ waferIds=waferId.replace(regS1,""); } var array=slotIds.split(","); for(var i=0;i<array.length;i++){ if(waferIds.indexOf(array[i])==-1) return false; } return true; } function removeEnter(object) { var regS = new RegExp(/\s*(.*?)\s*(\r\n)\s*/mg); var s = object.value; object.value = s.replace(regS, "$1"); //回车前后的空格都替换掉 } function showWaferId(){ var windowOptions = "directories=no,location=no,width=700,height=500,alwaysRaised=yes,resizable=yes,scrollbars=yes"; var win= window.open('showWaferId.action?w&requestFormId=113203','stepFormWaferid','left=500,top=20,width=150,height=450'); win.focus(); } function showSlotId(){ var win=window.open('showSlotId.action?s&requestFormId=113203','stepFormSlotid','left=500,top=20,width=150,height=450'); win.focus(); } function showWaferIdStr(){ var windowOptions = "directories=no,location=no,width=700,height=500,alwaysRaised=yes,resizable=yes,scrollbars=yes"; var win= window.open('showWaferIdStr.action?w&requestFormId=113203','stepFormWaferid','left=500,top=20,width=150,height=450'); win.focus(); } function showSlotIdStr(){ var win=window.open('showSlotIdStr.action?s&requestFormId=113203','stepFormSlotid','left=500,top=20,width=150,height=450'); win.focus(); } function check(object){ var Number ="0123456789"; var holdStepNo="01600"; var repositStepNo="01600"; var stepNo=object.value; for (i = 0; i < stepNo.length;i++){ var c = stepNo.charAt(i); if(Number.indexOf(c)==-1){ alert("StepNo must be number!"); object.value=""; object.focus(); return false; } } /*if(eval(stepNo)>eval(repositStepNo)||eval(stepNo)<eval(holdStepNo) ) { alert("StepNo: "+stepNo+" must be between "+holdStepNo+" and "+repositStepNo); object.value=""; object.focus(); return false; }*/ } function checkRemarkLength(object){ var value=object.value; if(value.length>150){ alert("Remark 最多150个字符"); return false; } var pattern = /[^\x00-\xff]/; if('Normal'=="Scan Defect" && pattern.test(object.value)){ alert("只能输入英文!"); object.focus(); return false; } } function checkEqpID(eqpID){ var form = document.forms['stepForm']; var areaValue=form.elements["stepForm.area"].value; form.elements["stepForm.eqpModeName"].value=""; if(typeof form.elements["stepForm.recipe"]!= "undefined") form.elements["stepForm.recipe"].value=""; if(typeof form.elements["stepForm.trackOutRecipe"]!= "undefined") form.elements["stepForm.trackOutRecipe"].value=""; var eqpId=eqpID.value; var eqpValue=form.elements["stepForm.eqpModeName"].value; var reg=/\s/g; var stringLength=eqpValue.replace(reg,""); if(eqpId=="Eqp ID"){ if(stringLength.length>7) {alert("最多7个字符!请重新输入Eqp ID"); form.elements["stepForm.eqpModeName"].value=""; form.elements["stepForm.eqpModeName"].focus(); return false; } if(eqpValue=="dummy" ||eqpValue=="DUMMY" || eqpValue.indexOf("DMY02")!=-1){ //DMY02 for cension if(areaValue=="PHOTO" || areaValue=="S1A-PHOTO" || areaValue=="S1B-PHOTO" ||areaValue=="S1C-PHOTO" || areaValue=="M1A-PHOTO" || areaValue=="M1B-PHOTO" || areaValue=="M1C-PHOTO" || areaValue=="SXA-PHOTO" || areaValue=="SXC-PHOTO") { alert("Please do not set area as PHOTO for DUMMY Eqp ID!"); form.elements["stepForm.area"].focus(); return false; } if(typeof form.elements["stepForm.recipe"]!= "undefined"){ form.elements["stepForm.recipe"].value="DUMMY"; form.elements["stepForm.recipe"].className="TextBoxReadOnly"; } } }else if(typeof form.elements["stepForm.recipe"]!= "undefined") form.elements["stepForm.recipe"].className="TextBoxReadWrite"; } </script> <div class="app"> <h3 class="center">Add Runcard Step</h3> <form name="stepForm" action="/erc/stepForm/addStepForm.action" method="post" onsubmit="return(stepForm_validate())" > <table class="wwFormTable"> <input type="hidden" name="requestFormId" value="113203" /><input type="hidden" name="stepFormId" /><input type="hidden" name="command" value="normal" /><input type="hidden" name="stepForm.RCP" value="on" /><input type="hidden" name="stepForm.noStepNo" value="uncheck" /><input type="hidden" name="stepForm.stepNoMes" value="01700" /> <input type="hidden" name="stepForm.measurementSpecNo" id="measurementSpecNo" value=""/> <TABLE STYLE="display:none" BORDER=0 CELLSPACING=0 CELLPADDING=0> <select name="strCondition" > </select> </TABLE> <table border="0" cellspacing="1" cellpadding="8" width="100%"> <tr class="b"> <td>*&nbspFab Area:</td> <td> <select name="stepForm.fabName" onchange="changeShow(this)" > <option value=""></option> <option value="A" >A</option> <option value="B" >B</option> <option value="C" >C</option> <option value="FAB7" >FAB7</option> <option value="FAB11" >FAB11</option> <option value="FAB15" >FAB15</option> <option value="FABJ1A" >FABJ1A</option> </select></td> <td>StepNo:</td> <td> NA <input type="checkbox" name="noStepNoPar" value="true" /><input type="text" name="stepForm.stepNo" size="10" value="01700" id="stepNo" onblur="check(this)" /> <input type="button" value="Go" onclick="getStepLotInfo();" > <input type="button" name="getStepList" value="ViewFutureStep" class="btn" onclick="doViewFutureStep('stepNo','getStepLotInfo()');">  <font color="red">(RunCard Step与MES Step做Compare)</font></td> </tr> <tr class="b" id="area" > <td>*&nbspArea:</td> <td colspan="3"> <select name="stepForm.area" onchange="changeByArea(this)" > <option value=""></option> </select>                      Check With RCP<input type="checkbox" name="rcpCheck" value="true" checked="checked" onclick="defalutValue();" /> </td> </tr> <tr id="showRemark" style="display:none;background: #efefef"> <td colspan="4"> <pre><font color="red" face="Arial">Is it Batch run at chamber: ADASM01_N&ADASM01_O or ADASM02_P&ADASM02_G or BDASM91_H&BDASM91_P If it is auto run, please fill in the special Eqp Group : ADVF_RCN_1&ADVF_RCO_1 or ADVF_RCP_1&ADVF_RCG_1 or ADVF_RCH_1&ADVF_RCP_2</font></pre> </td> </tr> <tr class="b"> <td>*&nbspEquipment:</td> <td colspan="3"><select name="stepForm.eqpMode" onchange="checkEqpID(this)" > <option value="Eqp ID" >Eqp ID</option> <option value="Eqp Group" selected="selected">Eqp Group</option> </select>:<input type="text" name="stepForm.eqpModeName" size="25" value="JMD_SRD_C" onblur="eqpToUpper(this)" /><font color="red">   (Eqp Group区分大小写.输入的Eqp ID 的最大长度为7位!)</font></td> </tr> <tr class="b" > <td>*&nbspRecipe:</td> <td colspan="3"><input type="input" name="stepForm.recipe" size="40" value="DI clean"/>   <font color="red">(区分大小写)</font></td> </tr> <tr class="b"> <td>*&nbspWafer ID:</td> <td colspan="3"> <input type="text" readonly="true" name="stepForm.waferId" value="#02,#03,#04,#05,#06,#07,#08,#09,#10,#11,#12,#13,#14,#15,#16,#17,#18,#19,#20,#21,#22,#23,#24,#25" id="wId" size="75" onclick="showWaferId()"/> Qty.:<input type="text" name="stepForm.waferIdQty" value="24" size="10" id="wQty" Style="background: #efefef;border:none"/> </td> </tr> <tr class="b"> <td>MeasSlotId:</td> <td colspan="3"><input type="text" readonly="true" name="stepForm.slotId" value="" id="sId" size="75" onclick="showSlotId();"/> Qty.:<input type="text" name="stepForm.slotIdQty" value="" size="10" id="sQty" Style="background: #efefef;border:none"/></td> </tr> <tr class="b"> <td>*&nbspContamination Flag: </td> <td colspan="3"> <select name="stepForm.contaminationFlag" onchange="checkNA(this)" > <option value="Please Select">Please Select</option> <option value="1--Front end w/o PR" >1--Front end w/o PR</option> <option value="2--Front end w/i PR (photo-resist)" >2--Front end w/i PR (photo-resist)</option> <option value="3--TiSix (eDRAM process)" >3--TiSix (eDRAM process)</option> <option value="4--Metal (W/Ti/TiN/AI-Cu) w/o PR" >4--Metal (W/Ti/TiN/AI-Cu) w/o PR</option> <option value="5--Metal (W/Ti/TiN/AI-Cu) w/i PR (photo-resist)" >5--Metal (W/Ti/TiN/AI-Cu) w/i PR (photo-resist)</option> <option value="6--Cobalt salicide" >6--Cobalt salicide</option> <option value="6.5--Cosix process b/f glue layer dep" >6.5--Cosix process b/f glue layer dep</option> <option value="7--Metal CAP dielectric" >7--Metal CAP dielectric</option> <option value="NA" >NA</option> </select> <b> current lot's contamination level: Please refer to Queen. </b> </td> </tr> <tr class="b"> <td colspan="4"><strong>实际下货Tools:</strong></td> </tr> <tr class="b"> <td>*&nbspRemark:</td> <td colspan="3"><textarea name="stepForm.remark" cols="35" rows="3" value="" onblur="checkRemarkLength(this)" ></textarea><font color="red">(如果输入中文,Runcard只能Manual Run!!)</font></td> </tr> <tr class="b"> <td>EDC Plan Name:</td> <!--onchange="showSpec();" --> <td colspan="3"><input type="text" name="stepForm.ecdPlanName" onchange="clearSpec();" value="" size="20" /><input type="button" onclick="showSpec();" value="Go"></td> </tr> <!-- Modity--> <tr class="b"> <td>量测规格SPEC</td> <td colspan="3"> <textarea name="stepForm.spec" cols="65" rows="2" value="" readonly="readonly" id="spec" style="background: #efefef;border:none" ></textarea> </td> </tr> </table> <h3>Runcard Qtime Inforamtion</h3> <table width="100%"> <tr> <td bgcolor="#87CEFA" colspan=9> <b> Qtime Configuration <font color="#0000FF">End </font> at this Step in Mainflow,pls select the 'Action'. </b> </td> </tr> <tr style="display:none"> <td> <input type="text" name="allEndQtimeHandle" /> </TD> </tr> <tr> <td bgcolor="#E6E6FA" width=15% colspan=2><b>End Qtime info:</b></td> <td bgcolor="#E6E6FA" colspan=7> <TABLE border=0 cellSpacing=1 cellSpacing=1 width="100%"> <TR> <TD >Plan ID </TD> <TD >Plan Ver </TD> <TD >StrStepSeq</TD> <TD ><font color="#0000FF"><B>EndStepSeq</font></TD> <TD >IntervalTime</TD> <TD >ControlType</TD> <TD >ExpireAction</TD> <TD >Action</TD> </TR> <TR> <TD >JLF100UPI0L01</TD> <TD >15</TD> <TD >01600</TD> <TD ><font color="#0000FF"><B>01700</font></TD> <TD >60</TD> <TD >Max Time</TD> <TD >Hold Lot</TD> <TD > <select name="endQtimeHanle113228" onchange="EndQtimeHanle(113228)" > <option value="Mapping" >Mapping</option> <option value="NULL" >NULL</option> </select> </TD> </TR> </Table> </td> </tr> </table> <table width="100%"> <tr class="a"> <tr class="b"><td colspan="4" class="center"><input type="button" onclick="checkPageToSubmit()" value="Submit" class="btn1" />      <input type="Button" class="btn1" value="Close" onclick="window.close();"></td> </tr> </table> </table> <script> function stepForm_validate() { var form = document.forms['stepForm']; var focus = stepForm_validate_actual(); if (focus != null) { element = form.elements[focus]; if(element.length > 0){ element = element[0]; } element.focus(); if (element.type == 'text' || element.type == 'textarea') { element.select(); } return false; } else { disableButton(); return true; } } function stepForm_validate_actual() { var form = document.forms['stepForm']; // cannot find any applicable validators return null; } </script> </form> <h3>Runcard Step Inforamtion</h3> <script> function updateWaferGroupResult(){ var form = document.forms['updateRequestForm']; form.action="updateWaferGroupResult.action"; form.submit(); } </script> <table border="0" cellspacing="1" cellpadding="8" width="100%"> <tr class="a"> <td><strong>Step List:</strong>     <a href="#1"><strong>1</strong></a> </td> </tr> </table> <table border="0" cellspacing="1" cellpadding="8" width="100%"> <tr class="a"> <td>Fab Area:</td> <td> FABJ1A </td> <td>NA<input type="checkbox" disabled="true"> Step No:                    01600</td> <td></td> </tr> <tr class="b"> <a name="1"> <td>Area:</td> <td >YE&FQC</td> <td>Check With RCP<input type="checkbox" disabled="true"></td> <td>Step Serial No:  <strong>1</strong></td> </tr> <tr class="b"> <td>Equipment:</td> <td colspan="3">Eqp Group: JME_MET_ET1</td> </tr> <tr class="b"> <td>Recipe:</td> <td colspan="3">CPBET3KA</td> </tr> <tr class="b"> <td>Wafer ID:</td> <td colspan="2">#02,#03,#04,#05,#06,#07,#08,#09,#10,#11,#12,#13,#14,#15,#16,#17,#18,#19,#20,#21,#22,#23,#24,#25</td><td>Qty.: 24</td> </tr> <tr class="b"> <td>Contamination Flag: </td> <td colspan="3">NA</td> </tr> <tr class="b"> <td colspan="4">实际下货Tools:</td> </tr> <tr class="b"> <td>Remark:</td> <td colspan="3">1</td> </tr> <tr> <td bgcolor="#87CEFF" colspan=9> <b> Qtime Configuration <font color="#0000FF">Start </font> at this Step in Mainflow,need setting after 'add the step': </b> </td> </tr> <tr > <td bgcolor="#DCDCDC" width=15% colspan=2><b>Qtime info:</b></td> <td bgcolor="#DCDCDC" colspan=7> <TABLE border=0 cellSpacing=1 cellSpacing=1 width="100%"> <TR> <TD >Plan ID </TD> <TD >Plan Ver </TD> <TD ><font color="#0000FF"><B><Red>StrStepSeq</font></TD> <TD >EndStepSeq</TD> <TD >IntervalTime</TD> <TD >ControlType</TD> <TD >ExpireAction</TD> <TD >mpsStepSeq</TD> </TR> <TR> <TD >JLF100UPI0L01</TD> <TD >15</TD> <TD ><font color="#0000FF"><B>01600</font></TD> <TD >01700</TD> <TD >60</TD> <TD >Max Time</TD> <TD >Hold Lot</TD> <TD ></TD> </TR> </Table> </td> </tr> </script> <tr class="a"> <td colspan="4" class="center"> <input type="button" value="Update" class="btn1" onclick="window.location.href='viewStepForm.action?requestFormId=113203&stepFormId=113212&command=YE&FQC'" />      <input type="button" class="btn1" value="Delete" onclick="window.location.href='deleteStepForm.action?requestFormId=113203&stepFormId=113212'"/>     <input type="Button" class="btn1" value="Close" onclick="window.close();"> </td> </tr> <tr bgcolor="#FFFFFF"> <td colspan="4"> </td></tr> <tr bgcolor="#FFFFFF"> <td colspan="4"> </td></tr> </table> <table border="0" cellspacing="1" cellpadding="8" width="100%"> <script> function doQTime(groupResult){ var form = document.forms['updateRequestForm']; form.action="comeinQTime.action?method=fromMainPage&groupResultId="+groupResult; form.submit(); } function doMainFlowQTime(groupResult){ var form = document.forms['updateRequestForm']; form.action="comeinMainFlowQTime.action?method=fromMainPage&groupResultId="+groupResult; form.submit(); } </script> <tr class="b"> <th colspan="4">Group Result</th> </tr> <tr class="b"> <td colspan="4"> <table border="0" cellspacing="1" cellpadding="8" width="100%"> <input type="hidden" name="groupResults[0].id" value="113213" /> <tr class=odder> <td><b>Wafer List</b></td> <td colspan=2 align=left><b>Step List</b></td> <td colspan=2><b>QTime(m)</b></td> <td></td> </tr> <tr class=odder> <td>#02,#03,#04,#05,#06,#07,#08,#09,#10,#11,#12,#13,#14,#15,#16,#17,#18,#19,#20,#21,#22,#23,#24,#25</td> <td width=15% colspan=2 align=left>01</td> <td colspan=2> <table border="0" cellspacing="1" cellpadding="8" width="100%"> <tr><TD><B>Type:</B>Max Time <B>Period:</B>60 <B>From:</B>1 <B>To:</B>01700 <B>mpsStepSeq:</B> <B>Action:</B>Hold Lot</TD></tr> </table> </td> <td> </td> </tr> </table> </td> </tr> </table> </div> <script> function doViewFutureStep(callField,functionCall) { var employeeSearchPopup; var windowOptions = "directories=no,location=no,width=700,height=500,alwaysRaised=yes,resizable=yes,scrollbars=yes"; employeeSearchPopup = window.open('../user/popUpFetchStepInfo.action?method=peFetchStepInfo&catalogue=StepSeq&fetchDirection=0&requestFormId=113203', 'employeeSearchPopup', windowOptions); employeeSearchPopup.focus(); callback = function (employeeNo){ document.getElementById(callField).value = employeeNo; employeeSearchPopup.close(); if (functionCall!=null) eval(functionCall); }; } </script>
最新发布
09-19
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值