tags:

views:

32

answers:

1

There is a table original state before any selection alt text that uses CSS (by using inherit in CSS) to format its layout. As you can see there is a drop down on top of the window that allows us select names, and based on the selection, the table would be populated. This action has been handled by an Ajax call, so we only refresh the table and not the rest of the page. However, when we call this Ajax call, even though we don't have any change in the code, there would be an extra space between vertical and horizontal borders of this table. I assume that there is a problem with the Ajax call and the CSS layout that we have this extra spaces. Does it make sense? or Do you any place that I can start my investigations? After selecting an option in the dropdown

Here is the source code of my Test.jsp

<a:test-webpart>

<table class="ContentPanel first-child" cellspacing="0" cellpadding="0">
    <tr>
        <th id="title" class="CPHeader" width="100%" colspan="400" style="border-bottom:1px solid <theme:get selector="#test .DefaultBorder" attribute="border-color" />;"><c:out value="${tile_title}" /></th>
    </tr>
    <%@ include file="MyTest.jst" %>
    <tbody  class="content-area">
    <tr>
        <td>
            <table class="ContentPanel ControlLayout" >
        <tr>
                    <th style="padding-left:7px;" width="20%"><label for="testlist"><span >*</span><fmt:message key = "jsp.request.testlist" bundle="${local}" /></label></th>
                    <td class="last-child" width="80%">
                        <span >
                            <html:select property="valueAsMap(test_ITEM).value(test_OFFER)" styleClass="dropDown" styleId="offeredtest">
                                <html:optionsCollection property="value(Item_test_LIST)" label = "name" value ="id" />
                            </html:select>
                        </span>
                    </td>
                </tr>
                <tr>
              <th style="padding-left:7px;" width="20%"><label for="employeeslist"><span >*</span><fmt:message key = "jsp.reques.employeeslist" bundle="${local}" /></label></th>
                    <td class="last-child" width="80%" >
                        <span >
                            <html:select property="valueAsMap(test_ITEM).value(Item_test_EMP)" onchange="javascript:getAlltests()"  styleClass="dropDown" styleId="employeeId">
                                <html:optionsCollection property="value(Item_test_EMP_LIST)" label = "name" value = "id" />
                            </html:select>
                        </span>
                    </td>
                </tr>
      </table>
    </td>
  </tr>
  <tr>
        <th style="padding-left:7px;" align="left"><label for="testacceptlist"><span >*</span><fmt:message key = "jsp.request.testacceptlist" bundle="${local}" /></label></th>
    </tr>
  <tr>
    <td style="padding-left:7px;">
    <kvl:rsr-webpart>
     <div id="testsTable">
      <table class="Tabular" width="100%"  cellpadding="0" cellSpacing="0">
        <tr class="first-child">
          <th><fmt:message key = "jsp.request.select" bundle="${local}" /></th>
            <th ><fmt:message key = "jsp.request.a" bundle="${local}" /></th>
            <th ><fmt:message key = "jsp.request.b" bundle="${local}" /></th>
            <th ><fmt:message key = "jsp.request.c" bundle="${local}" /></th>
            <th ><fmt:message key = "jsp.request.d" bundle="${local}" /></th>
            <th ><fmt:message key = "jsp.request.e" bundle="${local}" /></th>
            <th ><fmt:message key = "jsp.request.f" bundle="${local}" /></th>
            <th class="last-child"><fmt:message key = "jsp.request.job" bundle="${local}" /></th>
        </tr>

        <c:forEach var="item" items = "${items}"  varStatus="status">       
          <tr class="<c:if test='${status.index % 2 !=  0}'>Even</c:if> <c:if test='${item.isFromPrimaryJob == true}'>Primary</c:if> <c:if test='${item.isFromPrimaryJob != true}'>Exchange</c:if>">
                <td>
                    <input  type="checkbox"
                        id="test_id_<c:out value="${item.id}"/>_<c:out value="${item.Date}"/>"
                        name="value(test_selected)" 
                        value="<c:out value="${item.id}" />_<c:out value="${item.Date}"/>" 
                        onclick="javascript:checkBox('test_id_<c:out value="${item.id}"/>_<c:out value="${item.Date}"/>','value(test_selected)','valueAsMap(REQUEST_ITEM).value(test_selected_list)','false')" >
                </td>
                <td>
                    <c:choose>
                            <c:when test="${empty item.label}">
                        &nbsp;
                    </c:when>
                    <c:otherwise>
                        <c:out value="${item.label}"/>
                    </c:otherwise>
                    </c:choose>
                </td>
                <td><c:out value="${item.Date}"/></td>
                <td><c:out value="${item.b}"/></td>
                <td><c:out value="${item.d}"/></td>
                <td><c:out value="${item.e}"/></td>
                <td><c:out value="${item.f}"/></td>
                <td class="last-child"><c:out value="${item.job}"/></td>
            </tr>
        </c:forEach>
        </table>
        </div>
      </kvl:rsr-webpart>
    </td>
  </tr>
  <tr>
        <td style="padding-left:7px;">
            <table class="ContentPanel ControlLayout" width="100%">
          <%@ include file="request.jst" %>
       </table>
     </td> 
   </tr>      
  </tbody>
</table>
</a:test-webpart>
A: 

have a look at the generated HTML. just looking at the rendered stuff won't help except to something is wrong, not what. and just looking at the server code won't help as it uses magic and hides the HTML sometimes.

danielsherson
I've just added the source code and snapshot.
paradisonoir
you want to be debugging your layout problems on the generated HTML, what comes out of the magic server code and the ajax, not what goes in.
danielsherson
Actually I debugged the output of the server code, and I found out that the cell spacing can be handled there. They use default formatting, and by just setting the cell spacing and padding to zero, I could handle this issue. Thanks for your hint. Do you want to add this to your initial answer, so it would be helpful for everybody as a starting point, and I'll mark it as answered right away.
paradisonoir