SyntaxError when using function onclick
I have a function which works as excepted when called from the console but when I use it in button Uncaught SyntaxError: Unexpected end of input
Function:
function changeById(className, newHTML)
document.getElementById(className).innerHTML = newHTML;
document.getElementById(className).style.color = "red";
<button onclick="changeById(" liele ", "Example text ")">Click me</button>
javascript
add a comment |
I have a function which works as excepted when called from the console but when I use it in button Uncaught SyntaxError: Unexpected end of input
Function:
function changeById(className, newHTML)
document.getElementById(className).innerHTML = newHTML;
document.getElementById(className).style.color = "red";
<button onclick="changeById(" liele ", "Example text ")">Click me</button>
javascript
8
It's probably the double quotes. Tryonclick="changeById('liele', 'Example text')"
– slider
Nov 11 '18 at 22:07
@slider Thanks, didn't know that there is a difference in quotes in js
– MarkAlanFrank
Nov 11 '18 at 22:09
There's no difference, but in this case you want theonclick
value to be the entire stringchangeById("liele", "Example text")
but if you use double quotes to start the string and you have double quotes inside the string, only a part of the string is considered (onclick="changeById("
) which is wrong.
– slider
Nov 11 '18 at 22:16
1
@MarkAlanFrank Actually it's about how the quotes work in HTML, it has nothing to do with JS. The attribute isonclick="changeById("
. You will need to escape them according to HTML rules, with"
- or by changing them to'
.
– Bergi
Nov 11 '18 at 22:23
add a comment |
I have a function which works as excepted when called from the console but when I use it in button Uncaught SyntaxError: Unexpected end of input
Function:
function changeById(className, newHTML)
document.getElementById(className).innerHTML = newHTML;
document.getElementById(className).style.color = "red";
<button onclick="changeById(" liele ", "Example text ")">Click me</button>
javascript
I have a function which works as excepted when called from the console but when I use it in button Uncaught SyntaxError: Unexpected end of input
Function:
function changeById(className, newHTML)
document.getElementById(className).innerHTML = newHTML;
document.getElementById(className).style.color = "red";
<button onclick="changeById(" liele ", "Example text ")">Click me</button>
function changeById(className, newHTML)
document.getElementById(className).innerHTML = newHTML;
document.getElementById(className).style.color = "red";
<button onclick="changeById(" liele ", "Example text ")">Click me</button>
function changeById(className, newHTML)
document.getElementById(className).innerHTML = newHTML;
document.getElementById(className).style.color = "red";
<button onclick="changeById(" liele ", "Example text ")">Click me</button>
javascript
javascript
edited Nov 11 '18 at 22:10
lucascaro
3,47611531
3,47611531
asked Nov 11 '18 at 22:05
MarkAlanFrank
1149
1149
8
It's probably the double quotes. Tryonclick="changeById('liele', 'Example text')"
– slider
Nov 11 '18 at 22:07
@slider Thanks, didn't know that there is a difference in quotes in js
– MarkAlanFrank
Nov 11 '18 at 22:09
There's no difference, but in this case you want theonclick
value to be the entire stringchangeById("liele", "Example text")
but if you use double quotes to start the string and you have double quotes inside the string, only a part of the string is considered (onclick="changeById("
) which is wrong.
– slider
Nov 11 '18 at 22:16
1
@MarkAlanFrank Actually it's about how the quotes work in HTML, it has nothing to do with JS. The attribute isonclick="changeById("
. You will need to escape them according to HTML rules, with"
- or by changing them to'
.
– Bergi
Nov 11 '18 at 22:23
add a comment |
8
It's probably the double quotes. Tryonclick="changeById('liele', 'Example text')"
– slider
Nov 11 '18 at 22:07
@slider Thanks, didn't know that there is a difference in quotes in js
– MarkAlanFrank
Nov 11 '18 at 22:09
There's no difference, but in this case you want theonclick
value to be the entire stringchangeById("liele", "Example text")
but if you use double quotes to start the string and you have double quotes inside the string, only a part of the string is considered (onclick="changeById("
) which is wrong.
– slider
Nov 11 '18 at 22:16
1
@MarkAlanFrank Actually it's about how the quotes work in HTML, it has nothing to do with JS. The attribute isonclick="changeById("
. You will need to escape them according to HTML rules, with"
- or by changing them to'
.
– Bergi
Nov 11 '18 at 22:23
8
8
It's probably the double quotes. Try
onclick="changeById('liele', 'Example text')"
– slider
Nov 11 '18 at 22:07
It's probably the double quotes. Try
onclick="changeById('liele', 'Example text')"
– slider
Nov 11 '18 at 22:07
@slider Thanks, didn't know that there is a difference in quotes in js
– MarkAlanFrank
Nov 11 '18 at 22:09
@slider Thanks, didn't know that there is a difference in quotes in js
– MarkAlanFrank
Nov 11 '18 at 22:09
There's no difference, but in this case you want the
onclick
value to be the entire string changeById("liele", "Example text")
but if you use double quotes to start the string and you have double quotes inside the string, only a part of the string is considered (onclick="changeById("
) which is wrong.– slider
Nov 11 '18 at 22:16
There's no difference, but in this case you want the
onclick
value to be the entire string changeById("liele", "Example text")
but if you use double quotes to start the string and you have double quotes inside the string, only a part of the string is considered (onclick="changeById("
) which is wrong.– slider
Nov 11 '18 at 22:16
1
1
@MarkAlanFrank Actually it's about how the quotes work in HTML, it has nothing to do with JS. The attribute is
onclick="changeById("
. You will need to escape them according to HTML rules, with "
- or by changing them to '
.– Bergi
Nov 11 '18 at 22:23
@MarkAlanFrank Actually it's about how the quotes work in HTML, it has nothing to do with JS. The attribute is
onclick="changeById("
. You will need to escape them according to HTML rules, with "
- or by changing them to '
.– Bergi
Nov 11 '18 at 22:23
add a comment |
1 Answer
1
active
oldest
votes
You need to escape your inner quotes or use single quotes on the inside might work.
"changeById(' liele ', 'Example text ')"
"changeById(" liele ", "Example text ")"
add a comment |
Your Answer
StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53253721%2fsyntaxerror-when-using-function-onclick%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
You need to escape your inner quotes or use single quotes on the inside might work.
"changeById(' liele ', 'Example text ')"
"changeById(" liele ", "Example text ")"
add a comment |
You need to escape your inner quotes or use single quotes on the inside might work.
"changeById(' liele ', 'Example text ')"
"changeById(" liele ", "Example text ")"
add a comment |
You need to escape your inner quotes or use single quotes on the inside might work.
"changeById(' liele ', 'Example text ')"
"changeById(" liele ", "Example text ")"
You need to escape your inner quotes or use single quotes on the inside might work.
"changeById(' liele ', 'Example text ')"
"changeById(" liele ", "Example text ")"
answered Nov 11 '18 at 22:21
CodeDraken
516110
516110
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Some of your past answers have not been well-received, and you're in danger of being blocked from answering.
Please pay close attention to the following guidance:
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53253721%2fsyntaxerror-when-using-function-onclick%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
8
It's probably the double quotes. Try
onclick="changeById('liele', 'Example text')"
– slider
Nov 11 '18 at 22:07
@slider Thanks, didn't know that there is a difference in quotes in js
– MarkAlanFrank
Nov 11 '18 at 22:09
There's no difference, but in this case you want the
onclick
value to be the entire stringchangeById("liele", "Example text")
but if you use double quotes to start the string and you have double quotes inside the string, only a part of the string is considered (onclick="changeById("
) which is wrong.– slider
Nov 11 '18 at 22:16
1
@MarkAlanFrank Actually it's about how the quotes work in HTML, it has nothing to do with JS. The attribute is
onclick="changeById("
. You will need to escape them according to HTML rules, with"
- or by changing them to'
.– Bergi
Nov 11 '18 at 22:23