why skipping "this" in this.value will work sometimes and sometimes not

The SitePoint Forums have moved.

You can now find them here.
This forum is now closed to new posts, but you can browse existing content.
You can find out more information about the move and how to open a new account (if necessary) here.
If you get stuck you can get support by emailing forums@sitepoint.com

If this is your first visit, be sure to
check out the FAQ by clicking the
link above. You may have to register
before you can post: click the register link above to proceed. To start viewing messages,
select the forum that you want to visit from the selection below.

why skipping "this" in this.value will work sometimes and sometimes not

the first input field uses alert(value) instead of alert(this.value) and it works.

the second and third input fields do not use the "inline anonymous function" but use another anonymous function... but the second one will show the value while the third one won't. I thought inline anonymous function is the same as assigning element.onclick= function() { whatever there was } isn't it? If so why would the first input field work and the third doesn't? It is true in IE 7, Firefox 3, and Safari 3. Many thanks!

The reason why the text1 element works is due to the execution context. When the onclick event is fired, the alert method is being called from the context of the text1 element itself. With the text3 element, the alert method is being called from the context of the function.