mili
07-15-2003, 07:07 PM
Dear folks,
Here's a piece of script that Khalid & Jona helped me in getting it to work. Please can someone help me create a string separated by ; for all the values entered by a user?
I have 3 fields type,custName,amt.I want one string for each looping thro all the values entered by a user.I want to assign this string to a hidden input field as a part of my form's save action.
Below is my code:
Thanks!
<html>
<html>
<head><title>Add, delete rows in JavaScript</title>
<script language="JavaScript" type="text/javascript">
var ie = document.all;
var dom = document.getElementById;
var tableLength;
var z;
var rowsArr = new Array()// **** Added to collect number of rows to delete
var ctr = 0;// **** Added to count number of rows to delete
function getTableLength(myTable){
if(dom) tableLength = document.getElementById(myTable).getElementsByTagName("TR").length;
return tableLength;
}
function addRow(id){
if(dom){
//numrows = document.all.myTable.rows.length;
var tbody = document.getElementById(id).getElementsByTagName("TBODY")[0];
var row = document.createElement("TR")
var td1 = document.createElement("TD")
td1.innerHTML = "<input type=checkbox align=center name='"+name+"' id='"+name+"' onclick=\"setRow(this);\">";
var td2 = document.createElement("TD")
td2.innerHTML = "<select size=1 name='type' id='type'><option selected>Select a Type<option value=1>Basis Price<option value=2>Float<option value=3>Integer</select>";
var td3 = document.createElement("TD")
td3.innerHTML = "<input type=text align=center size=25 name='custName' id='custName'>";
//td2.appendChild (document.createTextNode("column 2"))
var td4 = document.createElement("TD")
td4.innerHTML = "<input type=text align=center size=25 name='amt' id='amt'>";
//var td5 = document.createElement("TD")
//td5.innerHTML = "<b>"+numrows+"</b>";
//td3.appendChild (document.createTextNode("column 2"))
row.appendChild(td1);
row.appendChild(td2);
row.appendChild(td3);
row.appendChild(td4);
//row.appendChild(td5);
tbody.appendChild(row);} else { return; }
}
function getRowNum(){
if(dom)
tdCtr = 0;
var z = document.getElementById('myTable').getElementsByTagName("TR");
var w = (z[z.length-1]);
tdCtr-=(w.getElementsByTagName("td").length);
w.removeNode(true)
return tdCtr;
}
function delRow(myTable){
for(var x=0;x<rowsArr.length;x++){
var row = rowsArr[x];
row.removeNode(true);
}
myTable.innerHTML = myTable.innerHTML;
}
/**** Function added to add rows to be deleted *****/
/*
@param obj checkbox field determining which row to be deleted
*/
function setRow(obj){
rowsArr[ctr++] = obj.parentNode.parentNode;
}
</script>
</head>
<body>
<form name="Test">
<table id="myTable" cellspacing="0" width="100%" border="1">
<tbody>
<tr bgcolor="#cfcfcf">
<td width="10%">
<input type="button" value="Delete" onclick="delRow('myTable')">
<input type="button" value="Add Row" onclick="addRow('myTable')"></td>
<td width="30%">Type</td>
<td width="30%">Cust Name</td>
<td width="30%">Amount</td>
</tr>
</tbody>
</table>
<br>
<br>
<div align="center"><input type=button value="save" onclick=" "></div>
</form>
</body></html>
Here's a piece of script that Khalid & Jona helped me in getting it to work. Please can someone help me create a string separated by ; for all the values entered by a user?
I have 3 fields type,custName,amt.I want one string for each looping thro all the values entered by a user.I want to assign this string to a hidden input field as a part of my form's save action.
Below is my code:
Thanks!
<html>
<html>
<head><title>Add, delete rows in JavaScript</title>
<script language="JavaScript" type="text/javascript">
var ie = document.all;
var dom = document.getElementById;
var tableLength;
var z;
var rowsArr = new Array()// **** Added to collect number of rows to delete
var ctr = 0;// **** Added to count number of rows to delete
function getTableLength(myTable){
if(dom) tableLength = document.getElementById(myTable).getElementsByTagName("TR").length;
return tableLength;
}
function addRow(id){
if(dom){
//numrows = document.all.myTable.rows.length;
var tbody = document.getElementById(id).getElementsByTagName("TBODY")[0];
var row = document.createElement("TR")
var td1 = document.createElement("TD")
td1.innerHTML = "<input type=checkbox align=center name='"+name+"' id='"+name+"' onclick=\"setRow(this);\">";
var td2 = document.createElement("TD")
td2.innerHTML = "<select size=1 name='type' id='type'><option selected>Select a Type<option value=1>Basis Price<option value=2>Float<option value=3>Integer</select>";
var td3 = document.createElement("TD")
td3.innerHTML = "<input type=text align=center size=25 name='custName' id='custName'>";
//td2.appendChild (document.createTextNode("column 2"))
var td4 = document.createElement("TD")
td4.innerHTML = "<input type=text align=center size=25 name='amt' id='amt'>";
//var td5 = document.createElement("TD")
//td5.innerHTML = "<b>"+numrows+"</b>";
//td3.appendChild (document.createTextNode("column 2"))
row.appendChild(td1);
row.appendChild(td2);
row.appendChild(td3);
row.appendChild(td4);
//row.appendChild(td5);
tbody.appendChild(row);} else { return; }
}
function getRowNum(){
if(dom)
tdCtr = 0;
var z = document.getElementById('myTable').getElementsByTagName("TR");
var w = (z[z.length-1]);
tdCtr-=(w.getElementsByTagName("td").length);
w.removeNode(true)
return tdCtr;
}
function delRow(myTable){
for(var x=0;x<rowsArr.length;x++){
var row = rowsArr[x];
row.removeNode(true);
}
myTable.innerHTML = myTable.innerHTML;
}
/**** Function added to add rows to be deleted *****/
/*
@param obj checkbox field determining which row to be deleted
*/
function setRow(obj){
rowsArr[ctr++] = obj.parentNode.parentNode;
}
</script>
</head>
<body>
<form name="Test">
<table id="myTable" cellspacing="0" width="100%" border="1">
<tbody>
<tr bgcolor="#cfcfcf">
<td width="10%">
<input type="button" value="Delete" onclick="delRow('myTable')">
<input type="button" value="Add Row" onclick="addRow('myTable')"></td>
<td width="30%">Type</td>
<td width="30%">Cust Name</td>
<td width="30%">Amount</td>
</tr>
</tbody>
</table>
<br>
<br>
<div align="center"><input type=button value="save" onclick=" "></div>
</form>
</body></html>