I'm working on a program using javascript to create a dynamic table. Initially was developing this in IE environment. It work fine, but realise that it doesn't work on Mozilla FireFox.
So I change it to using DOM Table to construct the table. But now I can't get the correct row no from the "Browse" button that I clicked on. It will only return the total number of rows instead of the currect row no I clicked on.
On previous working version, I make use of count2 to denote the row no. But after I've changed the code, count2 only shows the total row.
Was wondering if anyone here are able to help.
Refer to the code below, I didn't include all the codes as the program was too large:
Expand|Select|Wrap|Line Numbers
- <HTML>
- <HEAD>
- <TITLE>Customer Service</TITLE>
- <SCRIPT LANGUAGE='javascript'>var pageLoaded=false;
- function loadvar() {
- pageLoaded=true;
- }
- function searchProduct(form1, field1, field2, field3, idx) {
- if (pageLoaded==false) {
- window.alert("WOL5859: Page has not finished loading");
- }
- else {
- window.alert("This is row no:"+idx);
- }
- }
- var count2 = 0;
- function addReplace(tableID)
- {
- var tbody = document.getElementById(tableID).getElementsByTagName("TBODY")[0];
- var row = document.createElement("TR");
- var td1 = document.createElement("TD");
- td1.className = "l1TD";
- td1.align = "center";
- td1.appendChild (replaceTD7());
- var td2 = document.createElement("TD");
- td2.className = "l1TD";
- td2.appendChild (replaceTD5());
- td2.appendChild (replaceTD6());
- td2.appendChild(document.createTextNode("New"));
- var td3 = document.createElement("TD");
- td3.className = "l1TD";
- td3.appendChild (replaceTD9());
- var td4 = document.createElement("TD");
- td4.className = "l1TD";
- td4.appendChild (replaceTD1());
- td4.appendChild (replaceTD4());
- var td5 = document.createElement("TD")
- td5.className = "l1TD";
- td5.appendChild (replaceTD2());
- var td6 = document.createElement("TD");
- td6.className = "l1TD";
- td6.appendChild (replaceTD3());
- var td7 = document.createElement("TD");
- td7.className = "l1TD";
- td7.appendChild (replaceTD10());
- var td8 = document.createElement("TD");
- td8.className = "l1TD";
- td8.appendChild (replaceTD11());
- var td9 = document.createElement("TD");
- td9.className = "l1TD";
- td9.appendChild (replaceTD8());
- row.appendChild(td1);
- row.appendChild(td2);
- row.appendChild(td3);
- row.appendChild(td4);
- row.appendChild(td5);
- row.appendChild(td6);
- row.appendChild(td7);
- row.appendChild(td8);
- row.appendChild(td9);
- tbody.appendChild(row);
- count2 += 1;
- } // addReplace
- function replaceTD1()
- {
- var newField = document.createElement("input");
- newField.type = "text";
- newField.name = "in_product2";
- newField.size = 30;
- newField.maxlength = 30;
- return newField;
- }
- function replaceTD4()
- {
- var newField = document.createElement("input");
- newField.type = "button";
- newField.value = "Browse ";
- newField.onclick = function() {searchProduct(document.form1, document.form1.in_product2, document.form1.in_description2, document.form1.in_unit_price2,count2)};
- return newField;
- }
- function replaceTD2()
- {
- var newField = document.createElement("input");
- newField.type = "hidden";
- newField.name = "in_description2";
- return newField;
- }
- function replaceTD3()
- {
- var newField = document.createElement("input");
- newField.type = "text";
- newField.name = "in_qty2";
- newField.onblur = function() { calVal2(this.form, count2)};
- return newField;
- }
- function replaceTD5()
- {
- var newField = document.createElement("input");
- newField.type = "hidden";
- newField.name = "in_status2";
- newField.value = "new";
- return newField;
- }
- function replaceTD6()
- {
- var newField = document.createElement("input");
- newField.type = "hidden";
- newField.name = "in_rowid2";
- newField.value = count2;
- return newField;
- }
- function replaceTD7()
- {
- var newField = document.createElement("input");
- newField.type = "checkbox";
- newField.name = "in_selected_rowid2";
- newField.value = count2;
- return newField;
- }
- function replaceTD8()
- {
- var newField = document.createElement("select");
- newField.name = "in_trans_code2";
- newField.options[0] = new Option("All","%");
- newField.options[1] = new Option("IS=Issuable","IS");
- newField.options[2] = new Option("RE=REJECTED","RE");
- newField.options[3] = new Option("NM=Normal","NM");
- return newField;
- }
- function replaceTD9()
- {
- var newField = document.createElement("select");
- newField.name = "in_stock_loc2";
- newField.options[0] = new Option("1-1-1-1","1-1-1-1");
- newField.options[1] = new Option("1-1-2-1","1-1-2-1");
- newField.options[2] = new Option("1-1-3-1","1-1-3-1");
- newField.options[3] = new Option("1-1-4-1","1-1-4-1");
- newField.options[4] = new Option("RCPT","RCPT");
- return newField;
- }
- function replaceTD10()
- {
- var newField = document.createElement("input");
- newField.type = "text";
- newField.name = "in_unit_price2";
- newField.onblur= function() {calVal2(this.form,count2)};
- return newField;
- }
- function replaceTD11()
- {
- var newField = document.createElement("input");
- newField.type = "text";
- newField.name = "in_amount2";
- return newField;
- }
- </script>
- </HEAD>
- <BODY class="contentBody" onLoad="loadvar();"link="#0000CC" vlink="#0000CC" alink="#0000CC">
- <style type="text/css">
- <!--
- .titletabborder {
- background-color: #004080;
- height: 22px;
- border: 1px solid #FFFFFF;
- }
- -->
- </style>
- <BR>
- <tr><td><FORM ACTION="WWW_RMA_CUSTOMER_PK.proc_customer3" METHOD="POST" name="form1">
- <BR>
- <INPUT TYPE="hidden" NAME="in_stock_loc2" VALUE="dummy">
- <INPUT TYPE="hidden" NAME="in_product2" VALUE="dummy">
- <INPUT TYPE="hidden" NAME="in_unit_price2" VALUE="dummy">
- <INPUT TYPE="hidden" NAME="in_qty2" VALUE="dummy">
- <INPUT TYPE="hidden" NAME="in_lot_no2" VALUE="dummy">
- <INPUT TYPE="hidden" NAME="in_serial_no2" VALUE="dummy">
- <INPUT TYPE="hidden" NAME="in_exp_date2" VALUE="dummy">
- <INPUT TYPE="hidden" NAME="in_aoptchar1_2" VALUE="dummy">
- <INPUT TYPE="hidden" NAME="in_aoptchar2_2" VALUE="dummy">
- <INPUT TYPE="hidden" NAME="in_aoptchar3_2" VALUE="dummy">
- <INPUT TYPE="hidden" NAME="in_aoptchar4_2" VALUE="dummy">
- <INPUT TYPE="hidden" NAME="in_aoptchar5_2" VALUE="dummy">
- <INPUT TYPE="hidden" NAME="in_aoptchar6_2" VALUE="dummy">
- <INPUT TYPE="hidden" NAME="in_aoptnum1_2" VALUE="dummy">
- <INPUT TYPE="hidden" NAME="in_aoptnum2_2" VALUE="dummy">
- <INPUT TYPE="hidden" NAME="in_aoptnum3_2" VALUE="dummy">
- <INPUT TYPE="hidden" NAME="in_aoptnum4_2" VALUE="dummy">
- <INPUT TYPE="hidden" NAME="in_aoptdate1_2" VALUE="dummy">
- <INPUT TYPE="hidden" NAME="in_aoptdate2_2" VALUE="dummy">
- <INPUT TYPE="hidden" NAME="in_description2" VALUE="dummy">
- <INPUT TYPE="hidden" NAME="in_trans_code2" VALUE="dummy">
- <INPUT TYPE="hidden" NAME="in_amount2" VALUE="dummy">
- <INPUT TYPE="hidden" NAME="in_status2" VALUE="dummy">
- <INPUT TYPE="hidden" NAME="in_rowid2" VALUE="dummy">
- <INPUT TYPE="hidden" NAME="in_selected_rowid2" VALUE="dummy">
- <fieldset>
- <legend>
- <LABEL CLASS="formEntryLblOpt"><b>Spare Parts Requested</b></LABEL>
- </legend>
- <BR>
- <TABLE border="0" cellpadding="2" cellspacing="1" class="browseTable" id="replaceTab">
- <TR>
- <TD NOWRAP CLASS="l1TH" >Delete</TD>
- <TD NOWRAP CLASS="l1TH" >Sequence No</TD>
- <TD NOWRAP CLASS="l1TH" >Stock Location</TD>
- <TD NOWRAP CLASS="l1TH" >Spare Part Code</TD>
- <TD NOWRAP CLASS="l1TH" >Description</TD>
- <TD NOWRAP CLASS="l1TH" >Quantity Requested</TD>
- <TD NOWRAP CLASS="l1TH" >Unit Price</TD>
- <TD NOWRAP CLASS="l1TH" >Amount</TD>
- <TD NOWRAP CLASS="l1TH" >Stock Status Code</TD>
- </TR>
- </TABLE>
- <INPUT TYPE="button" VALUE="Add Row" class="defaultButton" onClick="addReplace('replaceTab');">
- <BR>
- </fieldset>
- <BR>
- <BR>
- <P>
- <CENTER>
- <INPUT TYPE="button" VALUE="Delete" class="defaultButton" onClick="submitButton('delete');">
-
- <INPUT TYPE="button" VALUE="Save" class="defaultButton" onClick="submitButton('submit');">
-
- <INPUT TYPE="button" VALUE="Next >>" class="defaultButton" onClick="submitButton('next_step');">
-
- <INPUT TYPE="reset" VALUE="Reset" class="defaultButton" class="defaultButton">
- </CENTER>
- <INPUT TYPE="hidden" NAME="in_button" VALUE="">
- <INPUT TYPE="hidden" NAME="in_sc_code" VALUE="YANGSC">
- <INPUT TYPE="hidden" NAME="in_owner_code" VALUE="YANG">
- <INPUT TYPE="hidden" NAME="in_wh_entity" VALUE="DEMO">
- <INPUT TYPE="hidden" NAME="in_rma_no" VALUE="">
- <INPUT TYPE="hidden" NAME="in_menu_id" VALUE="B5DE63798DE48B52">
- </FORM></td></tr>
- </BODY>
- </HTML>