A good web design involves the better user interaction and ability to fetch the data in a better way. For fetching user data, you may have to create a form wherein user can add multiple entries and submit them simultaneously.
Thus for this you will need a way to add or remove fields dynamically into the HTML page. In my previous article, I had discussed about the way one can add dynamic form components into the web page.
In this article we will create a user interface where user can add/delete multiple rows in a form using JavaScript.
First check the user interface.

In this example, we have created a table which will display our html components. On pressing Add Row, a dynamic row will be created and added in the table. And on selecting the checkbox and pressingDelete Row, the row will be removed.
Following is the source.
Code
01 02 03 04 05 06 07 08 09 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 | < HTML > < HEAD > < TITLE > Add/Remove dynamic rows in HTML table </ TITLE > < SCRIPT language = "javascript" > function addRow(tableID) { var table = document.getElementById(tableID); var rowCount = table.rows.length; var row = table.insertRow(rowCount); var cell1 = row.insertCell(0); var element1 = document.createElement("input"); element1.type = "checkbox"; cell1.appendChild(element1); var cell2 = row.insertCell(1); cell2.innerHTML = rowCount + 1; var cell3 = row.insertCell(2); var element2 = document.createElement("input"); element2.type = "text"; cell3.appendChild(element2); } function deleteRow(tableID) { try { var table = document.getElementById(tableID); var rowCount = table.rows.length; for(var i=0; i< rowCount ; i++) { var row = table .rows[i]; var chkbox = row .cells[0].childNodes[0]; if(null != chkbox && true == chkbox.checked) { table.deleteRow(i); rowCount--; i--; } } }catch(e) { alert(e); } } </SCRIPT> </ HEAD > < BODY > < INPUT type = "button" value = "Add Row" onclick = "addRow('dataTable')" /> < INPUT type = "button" value = "Delete Row" onclick = "deleteRow('dataTable')" /> < TABLE id = "dataTable" width = "350px" border = "1" > < TR > < TD >< INPUT type = "checkbox" name = "chk" /></ TD > < TD > 1 </ TD > < TD > < INPUT type = "text" /> </ TD > </ TR > </ TABLE > </ BODY > </ HTML > |
For adding dynamic row in table, we have used insertRow() method. This method will insert a row at position specified by the index arguement. Also for removing row, we have used deleteRow() method.
Note that for inserting dynamic row, we have to created cells by using row.insertCell() method.
Note that for inserting dynamic row, we have to created cells by using row.insertCell() method.
No comments:
Post a Comment