Interesting indeed... How about trying this... change the two lines that dynamically add the mouse handlers to:

row.onMouseOver = "this.className = 'hilite';";
row.onMouseOut = "this.className = 'rowNormal';";

I'm not 100% sure what the capitalization should be of the property your setting (i.e., row.onMouseOver vs. row.onmouseover vs. something else), but give that a shot... any time I've done dynamic table creation I don't remember ever using setAttribute() at all, I think I've written code like the above.

Frank

[EMAIL PROTECTED] wrote:
Curiously... the mouse events are all in lowercase when they are shown in the dump.
<TBODY>
<TR>
<TD class=tableHeader colSpan=2>Effective Date</TD>
<TD class=tableHeader width=200>CWW Schedule Type</TD>
<TD class=tableHeader id=calendarAnchor align=middle width=74>Delete</TD>
<TD width=136></TD></TR>


- - - - - This is from the JSP - - - - - - -
<TR class=rowNormal onmouseover="this.className = 'hilite'" onmouseout="this.className = 'rowNormal'" valign="top">
<TD id=c00 width=154>03 January 2004 </TD>
<TD id=c01 width=16><A onclick="lineId='c00'; calendar.showCalendar('calendarAnchor', '2005-04-27'); return false;" href="#"><IMG height=16 src="/hronline/images/calendar.jpg" width=16 border=0> </A></TD>
<TD id=c02><SELECT class=dropdowns2 id=s0 onchange="addTableRow('historyTable','s0')" name=historyItems[0].scheduleTypeId><OPTION value=00></OPTION> <OPTION value=01 selected>1 Week Cycle</OPTION> <OPTION value=02>2 Week Cycle</OPTION> <OPTION value=03>3 Week Cycle</OPTION> <OPTION value=04>4 Week Cycle</OPTION> <OPTION value=05>Regular Week Schedule</OPTION></SELECT> </TD>
<TD id=c03 align=middle><INPUT type=checkbox value=on name=historyItems[0].delete> </TD>
<TD class=rowNormal id=c04><INPUT class=dropdowns2 id=d00 style="VISIBILITY: hidden" size=1 value=2004-01-03 name=historyItems[0].startDate> </TD></TR>


- - - - - - - This is the row added dynamically - - - - - - -
<TR class=rowNormal onmouseover="this.className = 'hilite'" onmouseout="this.className = 'rowNormal'" valign="top">
<TD id=c40></TD>
<TD id=c41><A onclick="lineId='c40'; calendar.showCalendar('calendarAnchor', '2005-04-27'); return false;" href="http://nati02:5001/hronline/secure/WEB-INF/personal/timeAndAttendance/cWWHistory.jsp#";><IMG height=16 src="http://nati02:5001/hronline/images/calendar.jpg"; width=16 border=0> </A></TD>
<TD id=c42><SELECT class=dropdowns2 id=s4 onchange="addTableRow('historyTable','s4')" name=historyItems[4].scheduleTypeId><OPTION value=00 selected></OPTION> <OPTION value=01>1 Week Cycle</OPTION> <OPTION value=02>2 Week Cycle</OPTION> <OPTION value=03>3 Week Cycle</OPTION> <OPTION value=04>4 Week Cycle</OPTION> <OPTION value=05>Regular Week Schedule</OPTION></SELECT> </TD>
<TD align=middle><INPUT type=checkbox value=on name=historyItems[4].delete> </TD>
<TD class=rowNormal id=c44><INPUT class=dropdowns2 id=d40 style="VISIBILITY: hidden" size=1 value=2004-01-03 name=historyItems[4].startDate> </TD></TR></TBODY>


- Glenn




"Frank W. Zammetti" <[EMAIL PROTECTED]> 27/04/2005 04:27 PM
Please respond to
"Struts Users Mailing List" <user@struts.apache.org>



To Struts Users Mailing List <user@struts.apache.org> cc

Subject
Re: [OT] DOM & JavaScript
Classification








Hmm... I notice that the JSP code is referencing onMouseOver, while your Javascript is trying to set the attribute onmouseover... I wonder if the capitalization difference is an issue? Certainly, if setAttribute() takes case into consideration that would do it. You said the lines were identical when you looked, but could it be you glossed over the difference in capitalization? (I may have too).


Frank

[EMAIL PROTECTED] wrote:

Greetings,

Once again I call on my trusted community for insight !
I'm adding a row to a table dynamically. All is working well except for one thing the Mouse events.


Here is the code for adding a row to the table.
There is more code that adds the cells to the table (not shown).
...
// Only add a row when changing the last row of the table
if ("s"+(rowWithData) == selectId) {
       var row = table.insertRow(lastRowInTable);
       var className = "rowNormal";

if (lastRowInTable % 2 == 0) {
className = "rowAlternate";
}
row.className = className;
row.setAttribute("onmouseover", "this.className = 'hilite';");
row.setAttribute("onmouseout", "this.className = '" + className

+


"'");
...
}


Here is the JSP code that creates the table row (at least one row is in the page), here the mouse events are working:
<tr valign="top" onMouseOver="this.className = 'hilite'" onMouseOut=
"this.className = '<c:out value='${rowClass}'/>'" class="<c:out value=
'${rowClass}'/>">


If I add an alert that dumps the innerHTML of the table after the row/cells are added and I compare the two rows... They are the same.
Why are the mouse events added dynamically not recongnized ?


BTW, using IE 6.0.2900.2180.xpsp_sp2_rtm.040803-2158

TIA,
Glenn




-- Frank W. Zammetti Founder and Chief Software Architect Omnytex Technologies http://www.omnytex.com


--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]



Reply via email to