By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
424,669 Members | 2,546 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 424,669 IT Pros & Developers. It's quick & easy.

how to get the text in JS of a cell created on server?

P: n/a
Bob
Hi,

I have already posted a similar problem but it 's still a problem for me, so
...

I define a table in aspx file and Javascript code.
Purpose: when the user clicks on any cell of the table, the text of it must
be rendered in an Alert.

<asp:Table ID="table1" runat="server">
</asp:Table>

<script language="javascript" type="text/javascript">
function tableclick(event)
{
strid=window.event.srcElement.id
alert(strid) // this works: i get e.g. 3:2
strid=window.event.srcElement.text}
alert(strid) // this doens't work ("undefined")
}

I create row and cells in the code-behind:
Dim r As TableRow
Dim c(50, 20) As TableCell
For i = 0 To 50
r = New TableRow()
For j = 0 To 20
c(i, j) = New TableCell()
c(i, j).ID = j & ":" & i.ToString
r.Cells.Add(c(i, j))
Next
Table1.Rows.Add(r)
Next

c(3, 2).Text = "this is the text i want in Javascript"
....

My problem is that the Alert gives "undefined".
I can get the 'ID' of each cell, why not the 'text'?
I know there is the property 'ClientID' but it's overruled by the ID i
defined in the code, so that's not the point (i think).

Thanks for help.
Bob

Jun 16 '06 #1
Share this Question
Share on Google+
4 Replies


P: n/a
No, there isn't necessarily.

Code behind is just an object with some properties that are intuitive. In
the end, that in memory object will be turned into a bunch of HTML streamed
down to the browser. So there is not necessarily a correspondance between
the javascript and .NET properties.

Example, the button class has a Text property. But, when that is streamed
down, it is streamed down as an INPUT element, which has a value HTML
property.

I am guesing that this event is not firing on the element you think it is
firing on. You should find out which element it is, and what type it is, to
see what properties or methods it has available.

"Bob" <sd*@sdvsd.dc> wrote in message
news:%2***************@TK2MSFTNGP02.phx.gbl...
I tried with innerText, innerHtml, text .... alwyas the sale 'undefined'.
In the code-behind, i have no choice: after the dot after c(i,j) i only
can
take 'text'.
There must be an equivalence between 'text' in code-behind and a property
in
html, no?
..
"Marina Levit [MVP]" <so*****@nospam.com> wrote in message
news:um**************@TK2MSFTNGP04.phx.gbl...
Depending on the type of element it is, it may not have a 'text'
property.
Try 'innerText' or 'innerHTML' depending on what you want.

I recommend you use the following reference for DHTML so you know what
you
can do with what objects:

http://msdn.microsoft.com/library/de...asp?frame=true

"Bob" <sd*@sdvsd.dc> wrote in message
news:%2***************@TK2MSFTNGP02.phx.gbl...
> Hi,
>
> I have already posted a similar problem but it 's still a problem for me, > so
> ..
>
> I define a table in aspx file and Javascript code.
> Purpose: when the user clicks on any cell of the table, the text of it
> must
> be rendered in an Alert.
>
> <asp:Table ID="table1" runat="server">
> </asp:Table>
>
> <script language="javascript" type="text/javascript">
> function tableclick(event)
> {
> strid=window.event.srcElement.id
> alert(strid) // this works: i get e.g. 3:2
> strid=window.event.srcElement.text}
> alert(strid) // this doens't work
> ("undefined")
> }
>
> I create row and cells in the code-behind:
> Dim r As TableRow
> Dim c(50, 20) As TableCell
> For i = 0 To 50
> r = New TableRow()
> For j = 0 To 20
> c(i, j) = New TableCell()
> c(i, j).ID = j & ":" & i.ToString
> r.Cells.Add(c(i, j))
> Next
> Table1.Rows.Add(r)
> Next
>
> c(3, 2).Text = "this is the text i want in Javascript"
> ...
>
> My problem is that the Alert gives "undefined".
> I can get the 'ID' of each cell, why not the 'text'?
> I know there is the property 'ClientID' but it's overruled by the ID i
> defined in the code, so that's not the point (i think).
>
> Thanks for help.
> Bob
>
>
>
>
>



Jun 16 '06 #2

P: n/a
Bob
I tried with innerText, innerHtml, text .... alwyas the sale 'undefined'.
In the code-behind, i have no choice: after the dot after c(i,j) i only can
take 'text'.
There must be an equivalence between 'text' in code-behind and a property in
html, no?
..
"Marina Levit [MVP]" <so*****@nospam.com> wrote in message
news:um**************@TK2MSFTNGP04.phx.gbl...
Depending on the type of element it is, it may not have a 'text' property.
Try 'innerText' or 'innerHTML' depending on what you want.

I recommend you use the following reference for DHTML so you know what you
can do with what objects:
http://msdn.microsoft.com/library/de...asp?frame=true
"Bob" <sd*@sdvsd.dc> wrote in message
news:%2***************@TK2MSFTNGP02.phx.gbl...
Hi,

I have already posted a similar problem but it 's still a problem for me, so
..

I define a table in aspx file and Javascript code.
Purpose: when the user clicks on any cell of the table, the text of it
must
be rendered in an Alert.

<asp:Table ID="table1" runat="server">
</asp:Table>

<script language="javascript" type="text/javascript">
function tableclick(event)
{
strid=window.event.srcElement.id
alert(strid) // this works: i get e.g. 3:2
strid=window.event.srcElement.text}
alert(strid) // this doens't work ("undefined")
}

I create row and cells in the code-behind:
Dim r As TableRow
Dim c(50, 20) As TableCell
For i = 0 To 50
r = New TableRow()
For j = 0 To 20
c(i, j) = New TableCell()
c(i, j).ID = j & ":" & i.ToString
r.Cells.Add(c(i, j))
Next
Table1.Rows.Add(r)
Next

c(3, 2).Text = "this is the text i want in Javascript"
...

My problem is that the Alert gives "undefined".
I can get the 'ID' of each cell, why not the 'text'?
I know there is the property 'ClientID' but it's overruled by the ID i
defined in the code, so that's not the point (i think).

Thanks for help.
Bob



Jun 16 '06 #3

P: n/a
most dom objects have an innerHTML and innerText, be sue you are spelling
them correctly as javascript is case sensitive.

<table>
<tr >
<td onclick="alert(this.innerText)">r1col1</td>
</tr>
</table>

note: window.event is IE only.

-- bruce (sqlwork.com)

"Bob" <sd*@sdvsd.dc> wrote in message
news:%2***************@TK2MSFTNGP02.phx.gbl...
I tried with innerText, innerHtml, text .... alwyas the sale 'undefined'.
In the code-behind, i have no choice: after the dot after c(i,j) i only
can
take 'text'.
There must be an equivalence between 'text' in code-behind and a property
in
html, no?
..
"Marina Levit [MVP]" <so*****@nospam.com> wrote in message
news:um**************@TK2MSFTNGP04.phx.gbl...
Depending on the type of element it is, it may not have a 'text'
property.
Try 'innerText' or 'innerHTML' depending on what you want.

I recommend you use the following reference for DHTML so you know what
you
can do with what objects:

http://msdn.microsoft.com/library/de...asp?frame=true

"Bob" <sd*@sdvsd.dc> wrote in message
news:%2***************@TK2MSFTNGP02.phx.gbl...
> Hi,
>
> I have already posted a similar problem but it 's still a problem for me, > so
> ..
>
> I define a table in aspx file and Javascript code.
> Purpose: when the user clicks on any cell of the table, the text of it
> must
> be rendered in an Alert.
>
> <asp:Table ID="table1" runat="server">
> </asp:Table>
>
> <script language="javascript" type="text/javascript">
> function tableclick(event)
> {
> strid=window.event.srcElement.id
> alert(strid) // this works: i get e.g. 3:2
> strid=window.event.srcElement.text}
> alert(strid) // this doens't work
> ("undefined")
> }
>
> I create row and cells in the code-behind:
> Dim r As TableRow
> Dim c(50, 20) As TableCell
> For i = 0 To 50
> r = New TableRow()
> For j = 0 To 20
> c(i, j) = New TableCell()
> c(i, j).ID = j & ":" & i.ToString
> r.Cells.Add(c(i, j))
> Next
> Table1.Rows.Add(r)
> Next
>
> c(3, 2).Text = "this is the text i want in Javascript"
> ...
>
> My problem is that the Alert gives "undefined".
> I can get the 'ID' of each cell, why not the 'text'?
> I know there is the property 'ClientID' but it's overruled by the ID i
> defined in the code, so that's not the point (i think).
>
> Thanks for help.
> Bob
>
>
>
>
>



Jun 16 '06 #4

P: n/a
Bob
Thanks, it works with innerText.
"bruce barker (sqlwork.com)" <b_*************************@sqlwork.com> wrote
in message news:eC**************@TK2MSFTNGP04.phx.gbl...
most dom objects have an innerHTML and innerText, be sue you are spelling
them correctly as javascript is case sensitive.

<table>
<tr >
<td onclick="alert(this.innerText)">r1col1</td>
</tr>
</table>

note: window.event is IE only.

-- bruce (sqlwork.com)

"Bob" <sd*@sdvsd.dc> wrote in message
news:%2***************@TK2MSFTNGP02.phx.gbl...
I tried with innerText, innerHtml, text .... alwyas the sale 'undefined'.
In the code-behind, i have no choice: after the dot after c(i,j) i only
can
take 'text'.
There must be an equivalence between 'text' in code-behind and a property
in
html, no?
..
"Marina Levit [MVP]" <so*****@nospam.com> wrote in message
news:um**************@TK2MSFTNGP04.phx.gbl...
Depending on the type of element it is, it may not have a 'text'
property.
Try 'innerText' or 'innerHTML' depending on what you want.

I recommend you use the following reference for DHTML so you know what
you
can do with what objects:

http://msdn.microsoft.com/library/de...asp?frame=true

"Bob" <sd*@sdvsd.dc> wrote in message
news:%2***************@TK2MSFTNGP02.phx.gbl...
> Hi,
>
> I have already posted a similar problem but it 's still a problem for

me,
> so
> ..
>
> I define a table in aspx file and Javascript code.
> Purpose: when the user clicks on any cell of the table, the text of it > must
> be rendered in an Alert.
>
> <asp:Table ID="table1" runat="server">
> </asp:Table>
>
> <script language="javascript" type="text/javascript">
> function tableclick(event)
> {
> strid=window.event.srcElement.id
> alert(strid) // this works: i get e.g. 3:2
> strid=window.event.srcElement.text}
> alert(strid) // this doens't work
> ("undefined")
> }
>
> I create row and cells in the code-behind:
> Dim r As TableRow
> Dim c(50, 20) As TableCell
> For i = 0 To 50
> r = New TableRow()
> For j = 0 To 20
> c(i, j) = New TableCell()
> c(i, j).ID = j & ":" & i.ToString
> r.Cells.Add(c(i, j))
> Next
> Table1.Rows.Add(r)
> Next
>
> c(3, 2).Text = "this is the text i want in Javascript"
> ...
>
> My problem is that the Alert gives "undefined".
> I can get the 'ID' of each cell, why not the 'text'?
> I know there is the property 'ClientID' but it's overruled by the ID i > defined in the code, so that's not the point (i think).
>
> Thanks for help.
> Bob
>
>
>
>
>



Jun 17 '06 #5

This discussion thread is closed

Replies have been disabled for this discussion.