Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
Home
Discussion GroupsGeneralPHPASPPerlColdFusionFlashHTML, CSS, ScriptsBrowsers

Webmaster Forum / Browsers / Internet Explorer / September 2003



Tip: Looking for answers? Try searching our database.

Many form elements in page - http://www.lyciumnetworks.com/test.asp

Thread view: 
Enable EMail Alerts  Start New Thread
Thread rating: 
Yaron Cohen - 21 Sep 2003 15:30 GMT
Hello,

I would like to ask for your help.

I am trying to create a page with table of many form elements.

The size of the table is 84x10 (84 rows, 10 columns) and each cell contains
1 form element (select box, checkbox, etc ...)

As you can see I have 840 form elements in the page.

Q: Why so many form elements?

A: I have 84 channels that I would like the user to configure while seeing
the rest of the channels.

My problem is that it takes almost 10 seconds to display the page and
another 10 seconds to set the elements with the server data (read by ASP
function).

I build a test page at http://www.lyciumnetworks.com/test.asp

My website is loaded only by IE 5.0 and above.

My questions are:

Can I use so many elopements in 1 page?,

Would I will have problem with submitting so many elements ?

Do you know where I can see the max elements per page for IE?

Any others ways how to handle so many elements?

Maybe other web technologies ?

BTW:

 To which other newsgroups should I try sending this message?

Thanks,

Yaron
Dale Hurtt - 21 Sep 2003 17:35 GMT
> I am trying to create a page with table of many form elements.
> As you can see I have 840 form elements in the page.

> Q: Why so many form elements?
>
> A: I have 84 channels that I would like the user to configure while seeing
> the rest of the channels.

That still does not answer _why_ so many form elements. Your answer
indicates that you want the user to see all of the channel _information_
(which can be embedded in table cells), but realistically, the user can only
set one control value at a time. Why not create an 11th column, which
contains an "edit" hyperlink. Then, when you click the link it puts edit
controls in that row only.

Then the user can save the information, either with a button or some other
user interface element.

> My website is loaded only by IE 5.0 and above.

_If_ it is your intent to support only IE, you might consider using the
WebService HTC. This would allow you to post the changes you make to the
page without having to reload the entire page. (If you have multiple people
working on the page simultaneously, you still have a problem, as the page
must be refreshed frequently, to show the changes made by others).

> Can I use so many elopements in 1 page?,

Obviously. Your test page loads.

> Would I will have problem with submitting so many elements ?

"Problem" is relative. The main thing is, unless the standard way of working
is to configuration many of the channels in one session, most of the field
values will be exactly the same value as the one the server set. But you
have to write code to parse through all of those elements, check their
values, etc. That is a lot of code.

> Do you know where I can see the max elements per page for IE?

I am not sure that there is one, per se. If there is, it is probably far
greater than most average clients can bear.

> Any others ways how to handle so many elements?

Sure. Do not create them until the user indicates that they want to edit the
information displayed.

> Maybe other web technologies ?

Like what? Changing the server-side technology (ASP versus ASP.NET versus
JSP versus PHP versus whatever) will not likely help. Maybe you can get some
performance gain with ASP.NET because of its compiled nature, but if most of
the time server-side is spent making database calls, I doubt that there will
be a significant performance gain.

Changing the client-side technology really depends upon who your customers
are. Do they all have IE 5+? Do they all have Flash 6+? How do your
customers use this tool?

What you probably need to do is reduce the number of round-trips to the
server. This is what takes all of the time right now. Each time the page has
to reload, it is going to be painful, because the wait is so long. So, if
possible, you need to look into ways to reduce the number of round-trips.
There are a number of ways to send information from the client and receive
results from the server without refreshing the page.

_But_, if the page is being updated by several people at once, they would
need to see those changes, so you may still be stuck requiring a roundtrip.
I cannot tell you as I do not know your requirements.

Hope that helps. If not, post again.

Dale
Brian Staff - 21 Sep 2003 18:41 GMT
If you really have to have so many drop-down controls, you will get much
better performance if you create them on the server and then send them to
the client instead of creating them in DHTML.

Brian

> Hello,
>
[quoted text clipped - 39 lines]
>
> Yaron
Dale Hurtt - 21 Sep 2003 23:43 GMT
> I build a test page at http://www.lyciumnetworks.com/test.asp

Your function "selectHidden2Disp" uses eval when it does not need to:

function selectHidden2Disp(Elemname)
{
  Disp = eval("document.forms[0]."+Elemname);
  Hidden = eval("document.forms[0].H_"+Elemname);

  Disp.options[Hidden.value].selected = true;
}

Instead, try:

function selectHidden2Disp(Elemname)
{
  Disp = document.forms[0][Elemname];
  Hidden = document.forms[0]["H_"+Elemname];

  Disp.options[Hidden.value].selected = true;
}

This will speed up things a little. Although I figured that this code was
just to dummy up the page. You are not really intending to generate the
elements on the client side, are you. If so, document.write is not the right
way to go. (And I agree with the other responder -- you want to do that on
the server-side anyway.)
 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2009 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.