I have some html/javascript that works in my .cshtml file.
When I try to move it in to jsfiddle to experiment with, it does not work.
Not sure if if it's my lack of javascript experience, jsfiddle experience, probably both....
html:
<div>
<button name="startBtn" id="startBtn" onclick="startTimer">Start</button>
</div>
(I have also tried "startTimer()" for the onclick attribute; same result.)
javascript:
function startTimer() { alert("startTimer"); }
When I click the button, I see this in the Console:
Uncaught ReferenceError: startTimer is not defined
What am I overlooking?
(jsfiddle: http://bit.ly/1buQx9t)
First issue: You have the jsfiddle to set on onload so the function is not in global scope.
Second issue, you are not calling the function. You are missing ()
You had some extra misplaced quotes and were not calling the function. Needed to add the () to call it. Finally you needed to change the "onload" to "no wrap - in "
You have some weird quotes going on there (in your fiddle) plus you forgot the
()
after the name of the function. Use:jsFiddle example
jsFiddle Demo
First you have to set the Framework to
No wrap - in <head>
, instead ofonLoad
.Description
onLoad
is the same aswindow.onload=function(){[YOU ARE TYPING HERE]}
in JavaScript or$(function(){[YOU ARE TYPING HERE]});
in jQuery.No wrap - in <head>
is the same as<head><script type="text/javascript">[YOU ARE TYPING HERE]</script</head>
No wrap - in <body>
is the same as<body>[HTML CODE HERE]<script type="text/javascript">[YOU ARE TYPING HERE]</script></head>
I hope this clears up the settings in jsFiddle, they can be somewhat confusing.
Second your
HTML
is slightly wrong:HTML
Description
onclick="startTimer"
was changed toonclick="startTimer()"
this will execute the function.If you're using pure JavaScript in jsfiddle (ie - no jquery, etc), then change the second dropdown to "No wrap - in
<head>
"The answers above are all right; I just wanted to clarify what/where to change with this picture to solve the issue:
Here is the jsfiddle demo