Ben 0

alt textalt textalt textalt textI have a very complicated diagram there I have certain controls arrange in two overlapping tables.

The first table has textboxes the user needs to get to and so does the second table which I use Position:Relative to position right on top.

On my dev machine: no problem. You can click and edit the textboxes in the underlying table, but when I transfer my code to the server: no can do. The textboxes are blocked by the invisible forcefield that is my second table. Here is a simplified example of the code.

With the DocType tag it works fine in my machine, but not on server. Without thid docType tag it does not work at all either place.

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">


    <table border="1" id="tblLines" runat="server"  bordercolor="aqua" style="position: relative; left: 0px; top: 0px;">
           <tr>         <td " height="95" align="right">            <input type="text" style="z-index:100; background-color:Aqua;" text="need to get to text"></input>      </td>   </tr> </table>


    <table border="1" id="tbComponents" runat="server" style="position:relative; left:5px; top:-95px;">     <tr>        <td  height="95" width="130px" valign="bottom" align="right"  id="tdExpander">          second table        </td>   </tr> </table>

Here is what I get when I go to View source from IE. for locally run version:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">



<table border="1" cellpadding="0" cellspacing="0" id="tblLines" runat="server"  bordercolor="aqua" style="z-index:0;position: relative; left: 0px; top: 0px;">
       <tr>
        <td " height="95" align="right">
            <input type="text" style="z-index:100; background-color:Aqua;" text="need to get to text"></input>
        </td>
    </tr>
</table>


<table border="1" cellpadding="0" cellspacing="0" id="tbComponents" runat="server" style="position:relative; left:0px; top:-95px;z-index:0;" >
    <tr>
        <td  height="105" width="130px" valign="bottom" align="right"  id="tdExpander">
            second table
        </td>
    </tr>
</table>

And here is the View Source from IE for the server run version:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">



<table border="1" cellpadding="0" cellspacing="0" id="tblLines" runat="server"  

bordercolor="aqua" style="z-index:0;position: relative; left: 0px; top: 0px;">
       <tr>
        <td " height="95" align="right">
            <input type="text" style="z-index:100; background-color:Aqua;" 

text="need to get to text"></input>
        </td>
    </tr>
</table>


<table border="1" cellpadding="0" cellspacing="0" id="tbComponents" runat="server" 

style="position:relative; left:0px; top:-95px;z-index:0;" >
    <tr>
        <td  height="105" width="130px" valign="bottom" align="right"  

id="tdExpander">
            second table
        </td>
    </tr>
</table>

The only difference I see is some extra whitespaces. Would IE run the same source code differently because they are from two different places?

2 answers

0
points

Can't see any of your code, so I'll suggest using a z-index if you aren't already.

Answered over 6 years ago by Nathan Duran
  • I set the z-index of the textbox to 100, but since it is restraind by it's container(tblLines), it still remains behind tbComponents therefore unaccessable. I need tbComponents to be on top, but still have access to the underlying textbox. It my sound crazy, but it has been working on my machine and i depend on it to work that way. Ben over 6 years ago
  • So you actually WANT tbComponents to cover all of your input elements but still be able to interact with said elements? Nathan Duran over 6 years ago
  • right Ben over 6 years ago
  • That's not crazy, that's just plain bad design. I'm sure whatever actually needs to be accomplished could be done in a much better way. Nathan Duran over 6 years ago
  • ok, enlighten me. I just posted two new pics. I'm using some very elaborate user controls in the tbComponents table with hidden panels. That is the table with the gray border. The tbLines(aqua border) table holds and postions the refrigerant line controls that have psid textboxes that need to be edited. What is depicted is only one of serveral configurations that actually require adjustmenting,resizing, and hiding of table elements. It would be far far to difficult and complicated to try to put all the controls in one table. I tried a series of nested Div's and found it more problematic. the tables actually work really well when making the configuration changes. And like I said, everything worked beautifully until I moved it to the server. So what do you suggest? Ben over 6 years ago
  • Sounds like a great challenge for the canvas tag or something like Raphael http://raphaeljs.com/curver.html Nathan Duran over 6 years ago
  • Using these methods would still leave me with the issue of positioning. I'm in too deep to start over, either way. Anyone have any idea why this would work running from my loval virtual server but not from the network IIS? Ben over 6 years ago
  • Then it would be fairly trivial to craft a web service that will reply with either a dynamically generated background image or an XML document full of coordinates instructing the caller where each field needs to go. You're probably seeing the accidentally "working" behavior because of some bug in IE's handling of the MIME types your local machine is sending back, so your solution simply isn't going to fly very far. Nathan Duran over 6 years ago
  • The background image idea will not work because background images do not print without user manipilation and this diagram needs to be easily printable. I've tried to avoid positioning each object explicitly since rendering this page is already complicated enough, but I may have to do something of that sort in the end. Ben over 6 years ago
Ben 0
0
points

I decided just to add new controls(that consist of the psid text box and label) to the second(components) table.

Answered over 6 years ago by Ben