Showing posts with label clientside. Show all posts
Showing posts with label clientside. Show all posts

Friday, March 16, 2012

Populating DIV tag from javascript via ASP.Net & ClientScript methods

I'm trying to run some clientside javascript on page load for one of my
ASP.Net pages. I am using the ClientScript.RegisterClient...() methods
to register an external javascript file within ASP.Net. When I put my
code on a ASP button and click it it works just find, runs my
javascript which popus up an alert and then changes the div text.
However, when I put this on a Page_Load event the alert comes up ok but
the changing of the div text does not occur. I have a feeling this has
something to do with not all the page elements being rendered or
avaiable in some way to the javascript. I've tried placing the code in
LoadComplete, and Init, with the same results. Any suggestions on how I
can get my javascript code to be triggered on page load from ASP and be
able to access page elements like div tags? I don't have my code in
front of me now but could come up with example if needed. Any advice is
appreciated.

David Mathew
mathewda@dotnet.itags.org.gmail.comusing masterpages? if so, it changes the client ID

Dave Mathew wrote:

Quote:

Originally Posted by

I'm trying to run some clientside javascript on page load for one of my
ASP.Net pages. I am using the ClientScript.RegisterClient...() methods
to register an external javascript file within ASP.Net. When I put my
code on a ASP button and click it it works just find, runs my
javascript which popus up an alert and then changes the div text.
However, when I put this on a Page_Load event the alert comes up ok but
the changing of the div text does not occur. I have a feeling this has
something to do with not all the page elements being rendered or
avaiable in some way to the javascript. I've tried placing the code in
LoadComplete, and Init, with the same results. Any suggestions on how I
can get my javascript code to be triggered on page load from ASP and be
able to access page elements like div tags? I don't have my code in
front of me now but could come up with example if needed. Any advice is
appreciated.
>
David Mathew
mathewda@.gmail.com


I think what you are running into is the javascript code being executed
before the elements of your page have been created in the page DOM.
Try to stick your javascript into the onload attribute of your body tag
and see if it will work.

If this does work, I think what you will have to do is register your
javascript with the onload event either by adding it as an attribute of
the body tag or via external script.

http://www.quirksmode.org/js/events_advanced.html
The above article is similar to what you could use to register your
javascript with the load event except of course the event you want to
register for is load (onload in IE) and I believe you want to use
window as your element.

I wrote a javascript register function that handles cross browser
registration a while ago but don't have it with me. Let me know if you
want it and I'll post it. I believe there are also similar examples
out there somewhere on the web.

Clint.

Dave Mathew wrote:

Quote:

Originally Posted by

I'm trying to run some clientside javascript on page load for one of my
ASP.Net pages. I am using the ClientScript.RegisterClient...() methods
to register an external javascript file within ASP.Net. When I put my
code on a ASP button and click it it works just find, runs my
javascript which popus up an alert and then changes the div text.
However, when I put this on a Page_Load event the alert comes up ok but
the changing of the div text does not occur. I have a feeling this has
something to do with not all the page elements being rendered or
avaiable in some way to the javascript. I've tried placing the code in
LoadComplete, and Init, with the same results. Any suggestions on how I
can get my javascript code to be triggered on page load from ASP and be
able to access page elements like div tags? I don't have my code in
front of me now but could come up with example if needed. Any advice is
appreciated.
>
David Mathew
mathewda@.gmail.com

populating dropdownlist (asp.net server ctrl) from clientside jscr

Hello together,

I tried to find out about populating an asp.net server control (a
dropdownlist) from the clientside jscript, but I didn't find a solution up
to now.
I cannot use a html dropdownlist, because a database query in codebehind has
to be done, when a new listItem is selected. So, I need to use a
servercontrol dropdownlist.

Now to my problem:
I have two dropdownlists in use. One of them should show listItems that are
dependent on the selection of the other one. I know that I need to use the
clientside onchange() Event on the dropdownlistbox that decides what has to
be shown in the other dropdownlist, because no postback should occur for this.
The C# syntax, that is used in codebehind, doesn't work, JScript gives me an
error that the object doesn't support this method.
I can set the text and state of servercontrols like textBoxes and checkBoxes
from clientside jscript with document.Form1.TextBox1..., so it should also be
possible to do this with a dropdownlist too, shouldn't it?

I tried it with Ajax.NET, but when I called a serverside function that
should manipulate the dropdownlist, a nullpointerexception occurs, because
all the instances of the serverside controls are "undefined" (I saw it in the
debugger). I've no explanation for this, as they are created on page_Load. So
I cancelled my efforts introducing Ajax into this. As the project is nearly
finished, I would like to avoid using Ajax for the dropdownlist stuff.

I hope somebody can help

Thanks in advance

RFS666var i = document.forms[0].DropDownListName.length
document.forms[0].DropDownListName.options[i] = new Option('new text','new
value');

HTH

"RFS666" wrote:

> Hello together,
> I tried to find out about populating an asp.net server control (a
> dropdownlist) from the clientside jscript, but I didn't find a solution up
> to now.
> I cannot use a html dropdownlist, because a database query in codebehind has
> to be done, when a new listItem is selected. So, I need to use a
> servercontrol dropdownlist.
> Now to my problem:
> I have two dropdownlists in use. One of them should show listItems that are
> dependent on the selection of the other one. I know that I need to use the
> clientside onchange() Event on the dropdownlistbox that decides what has to
> be shown in the other dropdownlist, because no postback should occur for this.
> The C# syntax, that is used in codebehind, doesn't work, JScript gives me an
> error that the object doesn't support this method.
> I can set the text and state of servercontrols like textBoxes and checkBoxes
> from clientside jscript with document.Form1.TextBox1..., so it should also be
> possible to do this with a dropdownlist too, shouldn't it?
> I tried it with Ajax.NET, but when I called a serverside function that
> should manipulate the dropdownlist, a nullpointerexception occurs, because
> all the instances of the serverside controls are "undefined" (I saw it in the
> debugger). I've no explanation for this, as they are created on page_Load. So
> I cancelled my efforts introducing Ajax into this. As the project is nearly
> finished, I would like to avoid using Ajax for the dropdownlist stuff.
> I hope somebody can help
> Thanks in advance
> RFS666
First, when the browser sees the control, it is no longer a server-side
control, but just HTML. You can do whatever you can with the control, but
it needs to be through JavaScript with JS syntax and commands. Take a look
at the
http://msdn.microsoft.com/workshop/...asp?frame=true
for information about the those lists from the IE perspective.

In order for the server objects to be populated, you must to some form of
postback, otherwise the server does not know what to do. You might consider
using SmartNavigation and performing postbacks without the screen flicker.

"RFS666" <RFS666@.discussions.microsoft.com> wrote in message
news:E43B8B5B-BBBB-4C78-BCD1-E70ED60F329C@.microsoft.com...
> Hello together,
> I tried to find out about populating an asp.net server control (a
> dropdownlist) from the clientside jscript, but I didn't find a solution
> up
> to now.
> I cannot use a html dropdownlist, because a database query in codebehind
> has
> to be done, when a new listItem is selected. So, I need to use a
> servercontrol dropdownlist.
> Now to my problem:
> I have two dropdownlists in use. One of them should show listItems that
> are
> dependent on the selection of the other one. I know that I need to use the
> clientside onchange() Event on the dropdownlistbox that decides what has
> to
> be shown in the other dropdownlist, because no postback should occur for
> this.
> The C# syntax, that is used in codebehind, doesn't work, JScript gives me
> an
> error that the object doesn't support this method.
> I can set the text and state of servercontrols like textBoxes and
> checkBoxes
> from clientside jscript with document.Form1.TextBox1..., so it should also
> be
> possible to do this with a dropdownlist too, shouldn't it?
> I tried it with Ajax.NET, but when I called a serverside function that
> should manipulate the dropdownlist, a nullpointerexception occurs, because
> all the instances of the serverside controls are "undefined" (I saw it in
> the
> debugger). I've no explanation for this, as they are created on page_Load.
> So
> I cancelled my efforts introducing Ajax into this. As the project is
> nearly
> finished, I would like to avoid using Ajax for the dropdownlist stuff.
> I hope somebody can help
> Thanks in advance
> RFS666
you need to lean the browser dom to do client script (or ajax). also if you
change the entires in a list client side, you need to send this info to the
server somehow (usually a hidden field), as the browser only posts pack the
selected value of a dropdown. you shoudl go to the bookstore and pickup a
book on javascript.

-- bruce (sqlwork.com)

"RFS666" <RFS666@.discussions.microsoft.com> wrote in message
news:E43B8B5B-BBBB-4C78-BCD1-E70ED60F329C@.microsoft.com...
> Hello together,
> I tried to find out about populating an asp.net server control (a
> dropdownlist) from the clientside jscript, but I didn't find a solution
> up
> to now.
> I cannot use a html dropdownlist, because a database query in codebehind
> has
> to be done, when a new listItem is selected. So, I need to use a
> servercontrol dropdownlist.
> Now to my problem:
> I have two dropdownlists in use. One of them should show listItems that
> are
> dependent on the selection of the other one. I know that I need to use the
> clientside onchange() Event on the dropdownlistbox that decides what has
> to
> be shown in the other dropdownlist, because no postback should occur for
> this.
> The C# syntax, that is used in codebehind, doesn't work, JScript gives me
> an
> error that the object doesn't support this method.
> I can set the text and state of servercontrols like textBoxes and
> checkBoxes
> from clientside jscript with document.Form1.TextBox1..., so it should also
> be
> possible to do this with a dropdownlist too, shouldn't it?
> I tried it with Ajax.NET, but when I called a serverside function that
> should manipulate the dropdownlist, a nullpointerexception occurs, because
> all the instances of the serverside controls are "undefined" (I saw it in
> the
> debugger). I've no explanation for this, as they are created on page_Load.
> So
> I cancelled my efforts introducing Ajax into this. As the project is
> nearly
> finished, I would like to avoid using Ajax for the dropdownlist stuff.
> I hope somebody can help
> Thanks in advance
> RFS666

populating dropdownlist (asp.net server ctrl) from clientside jscr

Hello together,
I tried to find out about populating an asp.net server control (a
dropdownlist) from the clientside jscript, but I didn't find a solution up
to now.
I cannot use a html dropdownlist, because a database query in codebehind has
to be done, when a new listItem is selected. So, I need to use a
servercontrol dropdownlist.
Now to my problem:
I have two dropdownlists in use. One of them should show listItems that are
dependent on the selection of the other one. I know that I need to use the
clientside onchange() Event on the dropdownlistbox that decides what has to
be shown in the other dropdownlist, because no postback should occur for thi
s.
The C# syntax, that is used in codebehind, doesn't work, JScript gives me an
error that the object doesn't support this method.
I can set the text and state of servercontrols like textBoxes and checkBoxes
from clientside jscript with document.Form1.TextBox1..., so it should also b
e
possible to do this with a dropdownlist too, shouldn't it?
I tried it with Ajax.NET, but when I called a serverside function that
should manipulate the dropdownlist, a nullpointerexception occurs, because
all the instances of the serverside controls are "undefined" (I saw it in th
e
debugger). I've no explanation for this, as they are created on page_Load. S
o
I cancelled my efforts introducing Ajax into this. As the project is nearly
finished, I would like to avoid using Ajax for the dropdownlist stuff.
I hope somebody can help
Thanks in advance
RFS666var i = document.forms[0].DropDownListName.length
document.forms[0].DropDownListName.options[i] = new Option('new text','new
value');
HTH
"RFS666" wrote:

> Hello together,
> I tried to find out about populating an asp.net server control (a
> dropdownlist) from the clientside jscript, but I didn't find a solution u
p
> to now.
> I cannot use a html dropdownlist, because a database query in codebehind h
as
> to be done, when a new listItem is selected. So, I need to use a
> servercontrol dropdownlist.
> Now to my problem:
> I have two dropdownlists in use. One of them should show listItems that ar
e
> dependent on the selection of the other one. I know that I need to use the
> clientside onchange() Event on the dropdownlistbox that decides what has t
o
> be shown in the other dropdownlist, because no postback should occur for t
his.
> The C# syntax, that is used in codebehind, doesn't work, JScript gives me
an
> error that the object doesn't support this method.
> I can set the text and state of servercontrols like textBoxes and checkBox
es
> from clientside jscript with document.Form1.TextBox1..., so it should also
be
> possible to do this with a dropdownlist too, shouldn't it?
> I tried it with Ajax.NET, but when I called a serverside function that
> should manipulate the dropdownlist, a nullpointerexception occurs, because
> all the instances of the serverside controls are "undefined" (I saw it in
the
> debugger). I've no explanation for this, as they are created on page_Load.
So
> I cancelled my efforts introducing Ajax into this. As the project is nearl
y
> finished, I would like to avoid using Ajax for the dropdownlist stuff.
> I hope somebody can help
> Thanks in advance
> RFS666
First, when the browser sees the control, it is no longer a server-side
control, but just HTML. You can do whatever you can with the control, but
it needs to be through JavaScript with JS syntax and commands. Take a look
at the
http://msdn.microsoft.com/workshop/...me
=true
for information about the those lists from the IE perspective.
In order for the server objects to be populated, you must to some form of
postback, otherwise the server does not know what to do. You might consider
using SmartNavigation and performing postbacks without the screen flicker.
"RFS666" <RFS666@.discussions.microsoft.com> wrote in message
news:E43B8B5B-BBBB-4C78-BCD1-E70ED60F329C@.microsoft.com...
> Hello together,
> I tried to find out about populating an asp.net server control (a
> dropdownlist) from the clientside jscript, but I didn't find a solution
> up
> to now.
> I cannot use a html dropdownlist, because a database query in codebehind
> has
> to be done, when a new listItem is selected. So, I need to use a
> servercontrol dropdownlist.
> Now to my problem:
> I have two dropdownlists in use. One of them should show listItems that
> are
> dependent on the selection of the other one. I know that I need to use the
> clientside onchange() Event on the dropdownlistbox that decides what has
> to
> be shown in the other dropdownlist, because no postback should occur for
> this.
> The C# syntax, that is used in codebehind, doesn't work, JScript gives me
> an
> error that the object doesn't support this method.
> I can set the text and state of servercontrols like textBoxes and
> checkBoxes
> from clientside jscript with document.Form1.TextBox1..., so it should also
> be
> possible to do this with a dropdownlist too, shouldn't it?
> I tried it with Ajax.NET, but when I called a serverside function that
> should manipulate the dropdownlist, a nullpointerexception occurs, because
> all the instances of the serverside controls are "undefined" (I saw it in
> the
> debugger). I've no explanation for this, as they are created on page_Load.
> So
> I cancelled my efforts introducing Ajax into this. As the project is
> nearly
> finished, I would like to avoid using Ajax for the dropdownlist stuff.
> I hope somebody can help
> Thanks in advance
> RFS666
you need to lean the browser dom to do client script (or ajax). also if you
change the entires in a list client side, you need to send this info to the
server somehow (usually a hidden field), as the browser only posts pack the
selected value of a dropdown. you shoudl go to the bookstore and pickup a
book on javascript.
-- bruce (sqlwork.com)
"RFS666" <RFS666@.discussions.microsoft.com> wrote in message
news:E43B8B5B-BBBB-4C78-BCD1-E70ED60F329C@.microsoft.com...
> Hello together,
> I tried to find out about populating an asp.net server control (a
> dropdownlist) from the clientside jscript, but I didn't find a solution
> up
> to now.
> I cannot use a html dropdownlist, because a database query in codebehind
> has
> to be done, when a new listItem is selected. So, I need to use a
> servercontrol dropdownlist.
> Now to my problem:
> I have two dropdownlists in use. One of them should show listItems that
> are
> dependent on the selection of the other one. I know that I need to use the
> clientside onchange() Event on the dropdownlistbox that decides what has
> to
> be shown in the other dropdownlist, because no postback should occur for
> this.
> The C# syntax, that is used in codebehind, doesn't work, JScript gives me
> an
> error that the object doesn't support this method.
> I can set the text and state of servercontrols like textBoxes and
> checkBoxes
> from clientside jscript with document.Form1.TextBox1..., so it should also
> be
> possible to do this with a dropdownlist too, shouldn't it?
> I tried it with Ajax.NET, but when I called a serverside function that
> should manipulate the dropdownlist, a nullpointerexception occurs, because
> all the instances of the serverside controls are "undefined" (I saw it in
> the
> debugger). I've no explanation for this, as they are created on page_Load.
> So
> I cancelled my efforts introducing Ajax into this. As the project is
> nearly
> finished, I would like to avoid using Ajax for the dropdownlist stuff.
> I hope somebody can help
> Thanks in advance
> RFS666