Want to win a PS4? Go Premium and enter to win our High-Tech Treats giveaway. Enter to Win

x
?
Solved

<a> tag's "onclick" event not working

Posted on 2009-07-07
18
Medium Priority
?
364 Views
Last Modified: 2012-05-07
in the attached code snippet, onclick event is not working.

When i click on the "SUBMIT" link, i'm able to see the alert box with message "Came HERE". But, "frmNew" is not submitted.
Please let me know if i need to do anything in "fun()" without changing anything in the anchor tag <a>
<a id="errBoxCloseLink" href="javascript:void(0);" onclick="fun()" style="color:white;font-weight:bolder;text-decoration:none" title="Close Errors" linkcontrol="ignore">SUBMIT</a>
 
<script>
function fun()
{
    alert("Came HERE");
    document.forms["frmNew"].submit();
}
</script>

Open in new window

0
Comment
Question by:Ravi Kalla
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
  • 3
  • 2
  • +3
18 Comments
 
LVL 7

Expert Comment

by:Valleriani
ID: 24793209
Are you defining the form name?

<form name="frmNew">
<a id="errBoxCloseLink" href="javascript:void(0);" onclick="fun()" style="color:black;font-weight:bolder;text-decoration:none" title="Close Errors" linkcontrol="ignore">SUBMIT</a>
</form>

<script>
function fun()
{
    alert("Came HERE");
    document.forms["frmNew"].submit();
}
</script>

?
0
 
LVL 14

Expert Comment

by:shobinsun
ID: 24793259
Hi,

remove the style attribute from the line and use:

<a id="errBoxCloseLink" href="javascript:void(0);" onclick="fun()" class="vClass" title="Close Errors" linkcontrol="ignore">SUBMIT</a>

and then

<style type="text/css">
a.vClass:link {color: blue;}
</style>

Hope this will help you.

Regards
0
 
LVL 14

Expert Comment

by:shobinsun
ID: 24793292
hi,

sorry..you should check if there you defined the form name as commented by  ' Valleriani: '

Regards
0
Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
LVL 6

Author Comment

by:Ravi Kalla
ID: 24793381
yes... i have already defined the form name as in the attached code
 

<script>
function fun()
{
    alert("Came HERE");
    document.forms["frmNew"].submit();
}
</script>
 
<a id="errBoxCloseLink" href="javascript:void(0);" onclick="fun()" style="color:black;font-weight:bolder;text-decoration:none" title="Close Errors" linkcontrol="ignore">SUBMIT</a>
 
<form name="frmNew">
</form>

Open in new window

0
 
LVL 7

Expert Comment

by:Valleriani
ID: 24793411
Tested in IE/FF, they seem to be both submitting though. (Page is reloading basicly)

Can we get some more details? Is it tied in another script? Browser version? etc?
0
 

Expert Comment

by:gshahlot
ID: 24793442
You might wanna try running these on some other browsers.
0
 
LVL 6

Author Comment

by:Ravi Kalla
ID: 24793520
i'm able to submit by changing the value of "href" to "javascript:fun()"
0
 
LVL 7

Expert Comment

by:Valleriani
ID: 24793550
Hrm, could void(0) be interfering with some browsers? Could try:

<a id="errBoxCloseLink" href="#" onclick="fun()" style="color:white;font-weight:bolder;text-decoration:none" title="Close Errors" linkcontrol="ignore">SUBMIT</a>
0
 
LVL 13

Accepted Solution

by:
Murali Murugesan earned 2000 total points
ID: 24793997
in "fun()" add return false; as the last statement.

-Murali*
0
 
LVL 54

Expert Comment

by:b0lsc0tt
ID: 24829750
Ravi_Kalla,
I am going to post this as an objection.  The expert's post at http:#a24793997 has the key to your solution.  You need return false to follow the script or the browser just goes to the href as a natural next step.
The reason I post this as an objection is it isn't correct to have javascript in the href tag.  Depending on the doctype and browser you could even have problems.  Even the "javascript: void(0);" code isn't recommended in href anymore.  It is better to use # (as suggested in http:#a24793550) or even best to provide an html page that will show some "Javascript needs to be supported" message.  The key is the proper fix isn't to move the Javascript but to use return false so the event handling stops.
Let me know if you have a question about this.  It is worth changing your code because, even if the comment above was posted after you started closing this, it is the correct answer and way to do this.
b0lsc0tt
0
 
LVL 13

Expert Comment

by:Murali Murugesan
ID: 24837024
Should there be a points split?

-Murali*
0

Featured Post

Tech or Treat! - Giveaway

Submit an article about your scariest tech experience—and the solution—and you’ll be automatically entered to win one of 4 fantastic tech gadgets.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

This article discusses how to implement server side field validation and display customized error messages to the client.
A while back, I ran into a situation where I was trying to use the calculated columns feature in SharePoint 2013 to do some simple math using values in two lists. Between certain data types not being accessible, and also with trying to make a one to…
In this tutorial viewers will learn how to style transparent/translucent elements using alpha transparency in CSS Start with a normal styled element, such as a div.: Define its "background-color" property as "rgba (255, 255, 255, .5): The numbers in…
The viewer will learn the basics of jQuery, including how to invoke it on a web page. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery.: (CODE)

610 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question