Go Back   CodingForums.com > :: Client side development > JavaScript programming

Before you post, read our: Rules & Posting Guidelines

Reply
 
Thread Tools Rate Thread
Enjoy an ad free experience by logging in. Not a member yet? Register.
Old 10-12-2003, 04:49 AM   PM User | #1
dan18088
New Coder

 
Join Date: Sep 2002
Location: Charlotte
Posts: 60
Thanks: 0
Thanked 0 Times in 0 Posts
dan18088 is an unknown quantity at this point
Creating rows on first table?

Anyone have any ideas on why the extra rows are being created on the first table in my asp page? I have 3 tables but need the row to be created on the last table, with the ID of 'OASales'.

<table border=1 cellpadding=0 cellspacing=0" width="800px" ID='OASales'>
<Script>

function addRow()
{
ELpntr++;
content1='<select name="SalesStaff'+ELpntr+'" onChange="addRow()">';

var ELpntr=1;
var content1='';
var content2='<input name="Reff_Bonus'+ELpntr+'A">';
var content3='<input name="Lead_Bonus'+ELpntr+'B">';
var content4='<input name="Chrg_Dept'+ELpntr+'C">';
var content5='<input name="Comm'+ELpntr+'D">';
var content6='<input name="Gty_Comm'+ELpntr+'E">';
var content7='<input name="Adv_Comm'+ELpntr+'F">';
var content8='<input name="PTO_Dollars'+ELpntr+'G">';
var content9='<input name="Gty_Comm'+ELpntr+'H">';


tabBody=document.getElementsByTagName("TBODY").item(0);
row=document.createElement("TR");
cell1 = document.createElement("TD");
cell2 = document.createElement("TD");
cell3 = document.createElement("TD");
cell4 = document.createElement("TD");
cell5 = document.createElement("TD");
cell6 = document.createElement("TD");
cell7 = document.createElement("TD");
cell8 = document.createElement("TD");
cell9 = document.createElement("TD");
cell1.innerHTML=content1;
cell2.innerHTML=content2;
cell3.innerHTML=content3;
cell4.innerHTML=content4;
cell5.innerHTML=content5;
cell6.innerHTML=content6;
cell7.innerHTML=content7;
cell8.innerHTML=content8;
cell9.innerHTML=content9;
row.appendChild(cell1);
row.appendChild(cell2);
row.appendChild(cell3);
row.appendChild(cell4);
row.appendChild(cell5);
row.appendChild(cell6);
row.appendChild(cell7);
row.appendChild(cell8);
row.appendChild(cell9);
tabBody.appendChild(row);
dan18088 is offline   Reply With Quote
Old 10-12-2003, 03:05 PM   PM User | #2
Mr J
Senior Coder

 
Join Date: Aug 2002
Location: UK
Posts: 2,789
Thanks: 2
Thanked 14 Times in 14 Posts
Mr J is on a distinguished road
I think you are appending to the first table

this line possibly should be

tabBody=document.getElementsByTagName("TBODY").item(2);

This is what I used

<table border="1"><tr><td>Table</td><td>One</td</tr></table><BR><BR>

<table border="1"><tr><td>Table</td><td>Two</td></tr></table><BR><BR>

<table border=1 cellpadding=0 cellspacing=0" width="800px" ID='OASales'>

<Script>
function addRow(){
ELpntr++;
content1='<select name="SalesStaff'+ELpntr+'" onChange="addRow()">';

var ELpntr=1;
var content1='';
var content2='<input name="Reff_Bonus'+ELpntr+'A">';
var content3='<input name="Lead_Bonus'+ELpntr+'B">';
var content4='<input name="Chrg_Dept'+ELpntr+'C">';
var content5='<input name="Comm'+ELpntr+'D">';
var content6='<input name="Gty_Comm'+ELpntr+'E">';
var content7='<input name="Adv_Comm'+ELpntr+'F">';
var content8='<input name="PTO_Dollars'+ELpntr+'G">';
var content9='<input name="Gty_Comm'+ELpntr+'H">';


tb=document.createElement("TBODY");
document.getElementById("OASales").appendChild(tb);
row=document.createElement("TR");
cell1 = document.createElement("TD");
cell2 = document.createElement("TD");
cell3 = document.createElement("TD");
cell4 = document.createElement("TD");
cell5 = document.createElement("TD");
cell6 = document.createElement("TD");
cell7 = document.createElement("TD");
cell8 = document.createElement("TD");
cell9 = document.createElement("TD");
cell1.innerHTML=content1;
cell2.innerHTML=content2;
cell3.innerHTML=content3;
cell4.innerHTML=content4;
cell5.innerHTML=content5;
cell6.innerHTML=content6;
cell7.innerHTML=content7;
cell8.innerHTML=content8;
cell9.innerHTML=content9;
row.appendChild(cell1);
row.appendChild(cell2);
row.appendChild(cell3);
row.appendChild(cell4);
row.appendChild(cell5);
row.appendChild(cell6);
row.appendChild(cell7);
row.appendChild(cell8);
row.appendChild(cell9);
tabBody=document.getElementsByTagName("TBODY").item(2);
tabBody.appendChild(row);
}
addRow()
</script>

Last edited by Mr J; 10-12-2003 at 03:07 PM..
Mr J is offline   Reply With Quote
Old 10-12-2003, 04:13 PM   PM User | #3
dan18088
New Coder

 
Join Date: Sep 2002
Location: Charlotte
Posts: 60
Thanks: 0
Thanked 0 Times in 0 Posts
dan18088 is an unknown quantity at this point
That did the trick

Thanks, it is adding to the third table now! Any idea how I can get it to keep the input size on the additional rows created?

The first row is:

<td><font size=-1 ><input name="Reff_Bonus" size="9" value="<%=Reff_Bonus%>"></TD>
<td><font size=-1 ><input name="Lead_Bonus" size="9" value="<%=Lead_Bonus%>"></TD>
<td><font size=-1 ><input name="Chrg_Dept" size="9" value="<%=Chrg_Dept%>"></TD>
<td><font size=-1 ><input name="Comm" size="9" value="<%=Comm%>"></TD>
<td><font size=-1 ><input name="Gty_Comm" size="9" value="<%=Gty_Comm%>"></TD>
<td><font size=-1 ><input name="Adv_Comm" size="9" value="<%=Adv_Comm%>"></TD>
<td><font size=-1 ><input name="PTO_Dollars" size="9" value="<%=PTO_Dollars%>"></TD>

But the rows that are created with the Java have cells that are way to big and I can't figure out how to add the size="9" to the script. Any ideas?
var ELpntr=1;
var content1='';
var content2='<input name="Reff_Bonus size=9'+ELpntr+'A">';
var content3='<input name="Lead_Bonus'+ELpntr+'B">';
var content4='<input name="Chrg_Dept'+ELpntr+'C">';
var content5='<input name="Comm'+ELpntr+'D">';
var content6='<input name="Gty_Comm'+ELpntr+'E">';
var content7='<input name="Adv_Comm'+ELpntr+'F">';
var content8='<input name="PTO_Dollars'+ELpntr+'G">';
var content9='<input name="Gty_Comm'+ELpntr+'H">';
dan18088 is offline   Reply With Quote
Old 10-12-2003, 05:25 PM   PM User | #4
Mr J
Senior Coder

 
Join Date: Aug 2002
Location: UK
Posts: 2,789
Thanks: 2
Thanked 14 Times in 14 Posts
Mr J is on a distinguished road
Try this


var ELpntr=1;
var content1='';
var content2='<input size=9 name="Reff_Bonus'+ELpntr+'A">';
var content3='<input size=9 name="Lead_Bonus'+ELpntr+'B">';
var content4='<input size=9 name="Chrg_Dept'+ELpntr+'C">';
var content5='<input size=9 name="Comm'+ELpntr+'D">';
var content6='<input size=9 name="Gty_Comm'+ELpntr+'E">';
var content7='<input size=9 name="Adv_Comm'+ELpntr+'F">';
var content8='<input size=9 name="PTO_Dollars'+ELpntr+'G">';
var content9='<input size=9 name="Gty_Comm'+ELpntr+'H">';


To alter the actual TD cell width

cell2 = document.createElement("TD");
cell2.width=150

Last edited by Mr J; 10-12-2003 at 05:29 PM..
Mr J is offline   Reply With Quote
Old 10-12-2003, 06:05 PM   PM User | #5
dan18088
New Coder

 
Join Date: Sep 2002
Location: Charlotte
Posts: 60
Thanks: 0
Thanked 0 Times in 0 Posts
dan18088 is an unknown quantity at this point
Thumbs up Excellent Mr J

That worked great!!! I one thing and all is well, this is a hard one though, I have been working on having the drop down list read from a SQL data base to give me all the employee that work for the company. I works on the first row but now the additional ones created by the Java Script. Any ideas?

<table border=1 cellpadding=0 cellspacing=0" width="800px" ID="OASales">
<SCRIPT Language="JavaScript">

var employees = new Array(
<%

set conntemp=server.createobject("adodb.connection")
conntemp.open DSNCompany

SQL="Select eepnamelast,eepnamefirst from (Emppers Inner Join Empcomp ON(empcomp.EecEmplStatus <>'T' AND emppers.eepeeid=empcomp.eeceeid)) order by eepnamelast"
set rstemp = conntemp.execute(SQL)
Do Until rstemp.EOF
%>

new Array( "<%=rstemp("eepnamelast")%>", "<%=rstemp("eepnamefirst")%>" ),

<%

rstemp.MoveNext


optSuffix = "</OPTION>" & vbNewLine
valPrefix = "<OPTION Value='"
valSuffix = "'>"

opts = rstemp.GetString( , , valSuffix, optSuffix & valPrefix)
opts = valPrefix & Left( opts, Len(opts)-Len(valPrefix) )

Loop

rstemp.Close
set rstemp=nothing
conntemp.Close
Set conntemp = nothing
%>

null
);

var ELpntr=1;
var content1='';
var content2='<input size=9 name="Reff_Bonus'+ELpntr+'A">';
var content3='<input size=9 name="Lead_Bonus'+ELpntr+'B">';
var content4='<input size=9 name="Chrg_Dept'+ELpntr+'C">';
var content5='<input size=9 name="Comm'+ELpntr+'D">';
var content6='<input size=9 name="Gty_Comm'+ELpntr+'E">';
var content7='<input size=9 name="Adv_Comm'+ELpntr+'F">';
var content8='<input size=9 name="PTO_Dollars'+ELpntr+'G">';
var content9='<input size=9 name="Gty_Comm'+ELpntr+'H">';

function addRow()
{
ELpntr++;

content1='<select name="SalesStaff'+ELpntr+'" onChange="addRow()">';
content1+='<option value"" selected>somehow the vbNewLine & opts & " needs to go here.........I think?</option>';

tb=document.createElement("TBODY");
document.getElementById("OASales").appendChild(tb);
row=document.createElement("TR");
cell1 = document.createElement("TD");
cell2 = document.createElement("TD");
cell3 = document.createElement("TD");
cell4 = document.createElement("TD");
cell5 = document.createElement("TD");
cell6 = document.createElement("TD");
cell7 = document.createElement("TD");
cell8 = document.createElement("TD");
cell9 = document.createElement("TD");
cell1.innerHTML=content1;
cell2.innerHTML=content2;
cell3.innerHTML=content3;
cell4.innerHTML=content4;
cell5.innerHTML=content5;
cell6.innerHTML=content6;
cell7.innerHTML=content7;
cell8.innerHTML=content8;
cell9.innerHTML=content9;
row.appendChild(cell1);
row.appendChild(cell2);
row.appendChild(cell3);
row.appendChild(cell4);
row.appendChild(cell5);
row.appendChild(cell6);
row.appendChild(cell7);
row.appendChild(cell8);
row.appendChild(cell9);
tabBody=document.getElementsByTagName("TBODY").item(2);
tabBody.appendChild(row);
}


</script>

<td width=250>
<tr>
<%

Response.write "<td><select name=""SalesStaff"" onChange=""addRow()"">" & vbNewLine & opts & "</Select>"


%>

<td><font size=-1 ><input name="Reff_Bonus" size="9" value="<%=Reff_Bonus%>"></TD>
<td><font size=-1 ><input name="Lead_Bonus" size="9" value="<%=Lead_Bonus%>"></TD>
<td><font size=-1 ><input name="Chrg_Dept" size="9" value="<%=Chrg_Dept%>"></TD>
<td><font size=-1 ><input name="Comm" size="9" value="<%=Comm%>"></TD>
<td><font size=-1 ><input name="Gty_Comm" size="9" value="<%=Gty_Comm%>"></TD>
<td><font size=-1 ><input name="Adv_Comm" size="9" value="<%=Adv_Comm%>"></TD>
<td><font size=-1 ><input name="PTO_Dollars" size="9" value="<%=PTO_Dollars%>"></TD>
</TR>
</table>
</Div>
dan18088 is offline   Reply With Quote
Old 10-13-2003, 03:53 PM   PM User | #6
Mr J
Senior Coder

 
Join Date: Aug 2002
Location: UK
Posts: 2,789
Thanks: 2
Thanked 14 Times in 14 Posts
Mr J is on a distinguished road
Unfortunately I have not yet learned SQL so I cannot help you with that problem.

I am only just getting the hang of DOM


Sorry

Mr J is offline   Reply With Quote
Old 10-13-2003, 11:46 PM   PM User | #7
dan18088
New Coder

 
Join Date: Sep 2002
Location: Charlotte
Posts: 60
Thanks: 0
Thanked 0 Times in 0 Posts
dan18088 is an unknown quantity at this point
Cool No problem!

I had a developer give me a hand with it today at work. All is working now. Thanks for all the help!!!

Dan
dan18088 is offline   Reply With Quote
Reply

Bookmarks

Jump To Top of Thread


Thread Tools
Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +1. The time now is 02:19 AM.


Advertisement
Log in to turn off these ads.