11

In the IE developer (F12) console, I've managed to get my pages to run without errors; all but one!

SCRIPT1002: Syntax error
mypage.php, line 1 character 6

I am using IE9. Whats it's problem?

This is my code:

<!DOCTYPE html>
<head>
  <script type='text/javascript' src='/files/jquery-1.7.2.min.js'></script>
  <script type="text/javascript">
    $(document).ready(function() {
      $("#donateButton").click(function() {
        alert('hey');
      });
    });
  </script>
</head>
<body>
  <a href="javascript:void();" id="donateButton">asdsadasd</a>
</body>

When I click on #donateButton an error is produced. However, when I change javascript:void() to # then no error occurs any more. Why?

Rory McCrossan
  • 331,213
  • 40
  • 305
  • 339
Chud37
  • 4,907
  • 13
  • 64
  • 116
  • It's about line 1 of one of your ` – CodeCaster Jun 29 '12 at 13:44
  • okay, but then thats just: "$(document).ready(function () {" – Chud37 Jun 29 '12 at 13:46
  • 4
    My psychic powers still lack the ability of remote debugging (I definitely should get that service pack installed one day). Please trim your HTML and JS down to a few lines where the error still occurs and then put the code in your question. It must be something like a missing parenthesis. – CodeCaster Jun 29 '12 at 13:50

1 Answers1

19

"WAIT... does IE9 not like <a href="javascript:void();" id="donateButton"> ?? It seems thats the problem..?"
Comment by Chud37

Yes, that is the problem. void is an operator, not a function. Use javascript:void 0 , javascript:void(0) or #. Even better, add event.preventDefault() to your function:

$('#donateButton').click(function(ev) {
    ev.preventDefault();
    alert('hello');
});
Community
  • 1
  • 1
Rob W
  • 341,306
  • 83
  • 791
  • 678