Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > ASP .Net > Changing Body attribute

Reply
Thread Tools

Changing Body attribute

 
 
tshad
Guest
Posts: n/a
 
      12-13-2004
Is there a way during Page_Load to change or add an attribute to the Body
tag?

I want to be able to change the onLoad body attribute to do a focus on one
of my text boxes, such as:

onLoad="document.forms[0].txtLogon.focus();"

The problem is I have my <body> in an include file and want to set the
onLoad attribute during Page_Load time.

Thanks,

Tom.


 
Reply With Quote
 
 
 
 
bruce barker
Guest
Posts: n/a
 
      12-13-2004
just use javascript:

<script>document.body.onload = function()
{document.forms[0].txtLogon.focus();};</script>

-- bruce (sqlwork.com)


"tshad" <(E-Mail Removed)> wrote in message
news:(E-Mail Removed)...
| Is there a way during Page_Load to change or add an attribute to the Body
| tag?
|
| I want to be able to change the onLoad body attribute to do a focus on one
| of my text boxes, such as:
|
| onLoad="document.forms[0].txtLogon.focus();"
|
| The problem is I have my <body> in an include file and want to set the
| onLoad attribute during Page_Load time.
|
| Thanks,
|
| Tom.
|
|


 
Reply With Quote
 
 
 
 
Karl Seguin
Guest
Posts: n/a
 
      12-13-2004
There are ways, but why not just use Page.RegisterStartupScript?

Dim str As New System.Text.StringBuilder
str.Append("<script language=""JavaScript"">")
str.Append(System.Environment.NewLine)
str.Append("document.forms[0].txtLogon.focus();")
str.Append(System.Environment.NewLine)
str.Append("</script>")
Page.RegisterStartupScript("SetFocus", str.ToString())

Nice function to have in a utility class...

Karl

--
MY ASP.Net tutorials
http://www.openmymind.net/


"tshad" <(E-Mail Removed)> wrote in message
news:(E-Mail Removed)...
> Is there a way during Page_Load to change or add an attribute to the Body
> tag?
>
> I want to be able to change the onLoad body attribute to do a focus on one
> of my text boxes, such as:
>
> onLoad="document.forms[0].txtLogon.focus();"
>
> The problem is I have my <body> in an include file and want to set the
> onLoad attribute during Page_Load time.
>
> Thanks,
>
> Tom.
>
>



 
Reply With Quote
 
tshad
Guest
Posts: n/a
 
      12-13-2004
"bruce barker" <(E-Mail Removed)> wrote in message
news:(E-Mail Removed)...
> just use javascript:
>
> <script>document.body.onload = function()
> {document.forms[0].txtLogon.focus();};</script>


I tried that in a small html file to test it and it doesn't seem to work (at
least not the way I did it).

************************************************** **************
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<script language="javascript">
document.body.onload = function(){document.forms[0].txtEmail.focus();};
</script>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Untitled Document</title>
</head>
Email message: <input name="txtEmail" type="text" size="32" id="txtEmail" />

<body>
</body>
</html>
************************************************** ***************

Am I missing something?

Thanks,

Tom.

>
> -- bruce (sqlwork.com)
>
>
> "tshad" <(E-Mail Removed)> wrote in message
> news:(E-Mail Removed)...
> | Is there a way during Page_Load to change or add an attribute to the
> Body
> | tag?
> |
> | I want to be able to change the onLoad body attribute to do a focus on
> one
> | of my text boxes, such as:
> |
> | onLoad="document.forms[0].txtLogon.focus();"
> |
> | The problem is I have my <body> in an include file and want to set the
> | onLoad attribute during Page_Load time.
> |
> | Thanks,
> |
> | Tom.
> |
> |
>
>



 
Reply With Quote
 
tshad
Guest
Posts: n/a
 
      12-13-2004
"Karl Seguin" <karl REMOVE @ REMOVE openmymind REMOVEMETOO . ANDME net>
wrote in message news:(E-Mail Removed)...
> There are ways, but why not just use Page.RegisterStartupScript?
>
> Dim str As New System.Text.StringBuilder
> str.Append("<script language=""JavaScript"">")
> str.Append(System.Environment.NewLine)
> str.Append("document.forms[0].txtLogon.focus();")
> str.Append(System.Environment.NewLine)
> str.Append("</script>")
> Page.RegisterStartupScript("SetFocus", str.ToString())


That is a great idea. I didn't know this existed. I started looking into
how this works and tried to create a small page that really does nothing,
but I wanted to look at how the RegisterStartupScript works. I am running
into the same error I have had before whenever I try to put a tag into a
string. I usually get an error.

Here is the page I am using:

************************************************** *******************************
<%@ Page Language="VB" trace="false" debug="true" AutoEventWireup="true"
ContentType="text/html" ResponseEncoding="iso-8859-1" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<%@ Import Namespace="System.Web.Mail" %>
<html>
<script runat="server">
sub sendEmail_click ( sender as Object, e as EventArgs )
Call setFocus(txtLogon)
End Sub

Private Sub SetFocus(ByVal ctrl As Control)
' Define the JavaScript function for the specified control.
Dim focusScript As String = "<script language='javascript'>" & _
"document.getElementById('" + ctrl.ClientID & "').focus();</script>"

' Add the JavaScript code to the page.
Page.RegisterStartupScript("FocusScript", focusScript)
End Sub

</script>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Home Page</title>
<link href="staffing.css" rel="stylesheet" type="text/css">
</head>
<body>
<form id="Form1" runat="server">
<center>
<br>
<table width="500" border="0" cellspacing="0" cellpadding="2">
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td width="114" colspan=2><span class="style1">Simply enter your email
address below and we'll email you your password. </span></td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td align="right">Email Address: </td>
<td><asp:textbox id="txtLogon" runat="server" /></td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>&nbsp;</td>
<td><input type="submit" name="Submit" value=" Send "
onClick="sendEmail_click">&nbsp;</td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
</table>
<br>
</center>
</form>
</body>
</html>
************************************************** *****************************

I get the following error:
************************************************** *****************
Compiler Error Message: BC30648: String constants must end with a double
quote.

Source Error:

Line 11: ' Define the JavaScript function for the specified control.
Line 12: Dim focusScript As String = "<script language='javascript'>" &
_
Line 13: "document.getElementById('" + ctrl.ClientID &
"').focus();</script>"
Line 14:
Line 15: ' Add the JavaScript code to the page.
************************************************** ************************

If I take out any character from "</script>" (doesn't matter which
character), I don't get the error.

So it obviously has nothing to do with the double quotes.

Why does this happen?

I am not even into the RegisterStartupScript yet, until I can solve this
question.

Thanks,

Tom
>
> Nice function to have in a utility class...
>
> Karl
>
> --
> MY ASP.Net tutorials
> http://www.openmymind.net/
>
>
> "tshad" <(E-Mail Removed)> wrote in message
> news:(E-Mail Removed)...
>> Is there a way during Page_Load to change or add an attribute to the Body
>> tag?
>>
>> I want to be able to change the onLoad body attribute to do a focus on
>> one
>> of my text boxes, such as:
>>
>> onLoad="document.forms[0].txtLogon.focus();"
>>
>> The problem is I have my <body> in an include file and want to set the
>> onLoad attribute during Page_Load time.
>>
>> Thanks,
>>
>> Tom.
>>
>>

>
>



 
Reply With Quote
 
Karl Seguin
Guest
Posts: n/a
 
      12-13-2004
Just a bug
http://support.microsoft.com/kb/316174/EN-US/

Karl

--
MY ASP.Net tutorials
http://www.openmymind.net/


"tshad" <(E-Mail Removed)> wrote in message
news:(E-Mail Removed)...
> "Karl Seguin" <karl REMOVE @ REMOVE openmymind REMOVEMETOO . ANDME net>
> wrote in message news:(E-Mail Removed)...
> > There are ways, but why not just use Page.RegisterStartupScript?
> >
> > Dim str As New System.Text.StringBuilder
> > str.Append("<script language=""JavaScript"">")
> > str.Append(System.Environment.NewLine)
> > str.Append("document.forms[0].txtLogon.focus();")
> > str.Append(System.Environment.NewLine)
> > str.Append("</script>")
> > Page.RegisterStartupScript("SetFocus", str.ToString())

>
> That is a great idea. I didn't know this existed. I started looking into
> how this works and tried to create a small page that really does nothing,
> but I wanted to look at how the RegisterStartupScript works. I am running
> into the same error I have had before whenever I try to put a tag into a
> string. I usually get an error.
>
> Here is the page I am using:
>
>

************************************************** **************************
*****
> <%@ Page Language="VB" trace="false" debug="true" AutoEventWireup="true"
> ContentType="text/html" ResponseEncoding="iso-8859-1" %>
> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
> <%@ Import Namespace="System.Web.Mail" %>
> <html>
> <script runat="server">
> sub sendEmail_click ( sender as Object, e as EventArgs )
> Call setFocus(txtLogon)
> End Sub
>
> Private Sub SetFocus(ByVal ctrl As Control)
> ' Define the JavaScript function for the specified control.
> Dim focusScript As String = "<script language='javascript'>" & _
> "document.getElementById('" + ctrl.ClientID & "').focus();</script>"
>
> ' Add the JavaScript code to the page.
> Page.RegisterStartupScript("FocusScript", focusScript)
> End Sub
>
> </script>
> <head>
> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
> <title>Home Page</title>
> <link href="staffing.css" rel="stylesheet" type="text/css">
> </head>
> <body>
> <form id="Form1" runat="server">
> <center>
> <br>
> <table width="500" border="0" cellspacing="0" cellpadding="2">
> <tr>
> <td>&nbsp;</td>
> <td>&nbsp;</td>
> </tr>
> <tr>
> <td width="114" colspan=2><span class="style1">Simply enter your email
> address below and we'll email you your password. </span></td>
> </tr>
> <tr>
> <td>&nbsp;</td>
> <td>&nbsp;</td>
> </tr>
> <tr>
> <td align="right">Email Address: </td>
> <td><asp:textbox id="txtLogon" runat="server" /></td>
> </tr>
> <tr>
> <td>&nbsp;</td>
> <td>&nbsp;</td>
> </tr>
> <tr>
> <td>&nbsp;</td>
> <td><input type="submit" name="Submit" value=" Send "
> onClick="sendEmail_click">&nbsp;</td>
> </tr>
> <tr>
> <td>&nbsp;</td>
> <td>&nbsp;</td>
> </tr>
> </table>
> <br>
> </center>
> </form>
> </body>
> </html>
>

************************************************** **************************
***
>
> I get the following error:
> ************************************************** *****************
> Compiler Error Message: BC30648: String constants must end with a double
> quote.
>
> Source Error:
>
> Line 11: ' Define the JavaScript function for the specified control.
> Line 12: Dim focusScript As String = "<script language='javascript'>"

&
> _
> Line 13: "document.getElementById('" + ctrl.ClientID &
> "').focus();</script>"
> Line 14:
> Line 15: ' Add the JavaScript code to the page.
> ************************************************** ************************
>
> If I take out any character from "</script>" (doesn't matter which
> character), I don't get the error.
>
> So it obviously has nothing to do with the double quotes.
>
> Why does this happen?
>
> I am not even into the RegisterStartupScript yet, until I can solve this
> question.
>
> Thanks,
>
> Tom
> >
> > Nice function to have in a utility class...
> >
> > Karl
> >
> > --
> > MY ASP.Net tutorials
> > http://www.openmymind.net/
> >
> >
> > "tshad" <(E-Mail Removed)> wrote in message
> > news:(E-Mail Removed)...
> >> Is there a way during Page_Load to change or add an attribute to the

Body
> >> tag?
> >>
> >> I want to be able to change the onLoad body attribute to do a focus on
> >> one
> >> of my text boxes, such as:
> >>
> >> onLoad="document.forms[0].txtLogon.focus();"
> >>
> >> The problem is I have my <body> in an include file and want to set the
> >> onLoad attribute during Page_Load time.
> >>
> >> Thanks,
> >>
> >> Tom.
> >>
> >>

> >
> >

>
>



 
Reply With Quote
 
tshad
Guest
Posts: n/a
 
      12-13-2004
"Karl Seguin" <karl REMOVE @ REMOVE openmymind REMOVEMETOO . ANDME net>
wrote in message news:OmN$(E-Mail Removed)...
> Just a bug
> http://support.microsoft.com/kb/316174/EN-US/


I just love MS.

They say it is by design. One of those undocumented feature, I suppose.

What is interesting is that I see examples on the net all the time that
build strings that is supposed to dynamically put the Javascript on a page
and they "never" do this (add the "chr(60) &" in place of the "<"). I
wonder why that is.

Thanks,

Tom.
>
> Karl
>
> --
> MY ASP.Net tutorials
> http://www.openmymind.net/
>
>
> "tshad" <(E-Mail Removed)> wrote in message
> news:(E-Mail Removed)...
>> "Karl Seguin" <karl REMOVE @ REMOVE openmymind REMOVEMETOO . ANDME net>
>> wrote in message news:(E-Mail Removed)...
>> > There are ways, but why not just use Page.RegisterStartupScript?
>> >
>> > Dim str As New System.Text.StringBuilder
>> > str.Append("<script language=""JavaScript"">")
>> > str.Append(System.Environment.NewLine)
>> > str.Append("document.forms[0].txtLogon.focus();")
>> > str.Append(System.Environment.NewLine)
>> > str.Append("</script>")
>> > Page.RegisterStartupScript("SetFocus", str.ToString())

>>
>> That is a great idea. I didn't know this existed. I started looking
>> into
>> how this works and tried to create a small page that really does nothing,
>> but I wanted to look at how the RegisterStartupScript works. I am
>> running
>> into the same error I have had before whenever I try to put a tag into a
>> string. I usually get an error.
>>
>> Here is the page I am using:
>>
>>

> ************************************************** **************************
> *****
>> <%@ Page Language="VB" trace="false" debug="true" AutoEventWireup="true"
>> ContentType="text/html" ResponseEncoding="iso-8859-1" %>
>> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
>> <%@ Import Namespace="System.Web.Mail" %>
>> <html>
>> <script runat="server">
>> sub sendEmail_click ( sender as Object, e as EventArgs )
>> Call setFocus(txtLogon)
>> End Sub
>>
>> Private Sub SetFocus(ByVal ctrl As Control)
>> ' Define the JavaScript function for the specified control.
>> Dim focusScript As String = "<script language='javascript'>" & _
>> "document.getElementById('" + ctrl.ClientID &
>> "').focus();</script>"
>>
>> ' Add the JavaScript code to the page.
>> Page.RegisterStartupScript("FocusScript", focusScript)
>> End Sub
>>
>> </script>
>> <head>
>> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
>> <title>Home Page</title>
>> <link href="staffing.css" rel="stylesheet" type="text/css">
>> </head>
>> <body>
>> <form id="Form1" runat="server">
>> <center>
>> <br>
>> <table width="500" border="0" cellspacing="0" cellpadding="2">
>> <tr>
>> <td>&nbsp;</td>
>> <td>&nbsp;</td>
>> </tr>
>> <tr>
>> <td width="114" colspan=2><span class="style1">Simply enter your
>> email
>> address below and we'll email you your password. </span></td>
>> </tr>
>> <tr>
>> <td>&nbsp;</td>
>> <td>&nbsp;</td>
>> </tr>
>> <tr>
>> <td align="right">Email Address: </td>
>> <td><asp:textbox id="txtLogon" runat="server" /></td>
>> </tr>
>> <tr>
>> <td>&nbsp;</td>
>> <td>&nbsp;</td>
>> </tr>
>> <tr>
>> <td>&nbsp;</td>
>> <td><input type="submit" name="Submit" value=" Send "
>> onClick="sendEmail_click">&nbsp;</td>
>> </tr>
>> <tr>
>> <td>&nbsp;</td>
>> <td>&nbsp;</td>
>> </tr>
>> </table>
>> <br>
>> </center>
>> </form>
>> </body>
>> </html>
>>

> ************************************************** **************************
> ***
>>
>> I get the following error:
>> ************************************************** *****************
>> Compiler Error Message: BC30648: String constants must end with a double
>> quote.
>>
>> Source Error:
>>
>> Line 11: ' Define the JavaScript function for the specified control.
>> Line 12: Dim focusScript As String = "<script language='javascript'>"

> &
>> _
>> Line 13: "document.getElementById('" + ctrl.ClientID &
>> "').focus();</script>"
>> Line 14:
>> Line 15: ' Add the JavaScript code to the page.
>> ************************************************** ************************
>>
>> If I take out any character from "</script>" (doesn't matter which
>> character), I don't get the error.
>>
>> So it obviously has nothing to do with the double quotes.
>>
>> Why does this happen?
>>
>> I am not even into the RegisterStartupScript yet, until I can solve this
>> question.
>>
>> Thanks,
>>
>> Tom
>> >
>> > Nice function to have in a utility class...
>> >
>> > Karl
>> >
>> > --
>> > MY ASP.Net tutorials
>> > http://www.openmymind.net/
>> >
>> >
>> > "tshad" <(E-Mail Removed)> wrote in message
>> > news:(E-Mail Removed)...
>> >> Is there a way during Page_Load to change or add an attribute to the

> Body
>> >> tag?
>> >>
>> >> I want to be able to change the onLoad body attribute to do a focus on
>> >> one
>> >> of my text boxes, such as:
>> >>
>> >> onLoad="document.forms[0].txtLogon.focus();"
>> >>
>> >> The problem is I have my <body> in an include file and want to set the
>> >> onLoad attribute during Page_Load time.
>> >>
>> >> Thanks,
>> >>
>> >> Tom.
>> >>
>> >>
>> >
>> >

>>
>>

>
>



 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
To reduce your body weight & slim your body Loss weight MCSA 0 07-23-2007 07:54 PM
To reduce your body weight & slim your body Loss weight MCSA 0 07-21-2007 05:15 AM
Validation (XHTML 1.0 Transitional): Attribute 'leftmargin' is not a valid attribute of element 'body'. anonymous ASP .Net 1 08-02-2006 08:05 AM
Dynamically changing the id attribute of body tag jdi Javascript 2 10-21-2004 06:44 PM
Not detecting body.scrollTop and body.scrollLeft in IE6 London Boy Javascript 2 01-12-2004 08:44 AM



Advertisments