Been playing with your problem a few minutes and think Ive found the
problem.

Firstly your syntax was wrong.

What you meant to say was:
td5.setAttribute("ondblclick","alert('hello');");
instead of
td5.setAttribute("ondblClick=alert('hello')");

BUT unfortunately this correction still doesnt make it work....
As far as I can figure out, once you are at the stage of playing with the
browsers in-memory dom (as opposed to the unparsed source for the dom) then
the onXXX attributes dont take script source, but rather they take a
reference to a function. Im guessing that in the process of parsing the
source, the browser will convert the script in the onXXX attributes into a
function and substitute a reference to the function in the dom.

ie:
function foo()
{
  alert('hello');
}

td5.setAttribute("ondblclick",foo);

or alternatively the simpler notation
td5.ondblclick = foo;

See the following example (which our email clients will no doubt mangle
badly!):
##########################

<html>
        <head>
                <script type="text.javascript">

                        function foo()
                        {
                                alert('hello');
                        }

                        function doTest()
                        {
                                var td5 = document.createElement("textarea");
                                td5.setAttribute("name","mytextarea");
                                td5.setAttribute("cols","10");
                                td5.setAttribute("rows","2");
                                td5.setAttribute("wrap","PHYSICAL");
                                td5.setAttribute('ondblclick',foo);
                                document.getElementById('test').appendChild(td5);
                        }
                </script>
        </head>
        <body id="test" onload="doTest()">
        </body>
</html>

##########################
-----Original Message-----
From: Vijay Pawar [mailto:[EMAIL PROTECTED]
Sent: Tuesday, 10 June 2003 14:06
To: Struts Users Mailing List
Subject: [OT] dom - createElement("textarea") cannot invoke javascript


Hi All,

I would be obliged if someone helps me in this.

I am dynamically creating rows in my jsp by using the dom-tree functions

To create a text field i use :-

document.createElement("<input name='type"+indexVal+"' type='text'
size='3' maxlength='3' ondblClick='alert(this.value)'>");

The above code works fine and on double clicking, the the alert is invoked.

Now to create a text area using dom i use the following code :-

var td5 =       document.createElement("textarea");
                td5.setAttribute("name","mytextarea");
                td5.setAttribute("cols","10");
                td5.setAttribute("rows","2");
                td5.setAttribute("wrap","PHYSICAL");

Now i wish to add a javascript event to this text area and so i tried the
following
                td5.setAttribute("ondblClick=alert('hello')");

But this does not work. Can anyone please tell me how to add javascript
events to a text area that is generated like this.

Thanking in advance,
Vijay


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to