Your achievements

Level 1

0% to

Level 2

Tip /
Sign in

Sign in to Community

to gain points, level up, and earn exciting badges like the new
BedrockMission!

Learn more

View all

Sign in to view all badges

SOLVED

Error when prechecking checkbox

bryceh57660644
Level 2
Level 2

I am getting this error when I enter debug mode on my webapp with the checkbox:

bryceh57660644_0-1601670556100.png

 

I tested the logic as a text field and it is passing through fine, so it is something to do with my checked logic, but I cannot figure out why.

 

Java script is: 

document.getElementById("control_San")[0].checked = "<%=ctx.vars.San%>"

 

in the HTML <body>, this is corresponding code: 

<tr>
<td style="padding: 5px 0px 0px 25px;">
<div id="control_San" style="position: relative; overflow: hidden; margin: 5px 3px 5px 0px; font-weight: bold; text-decoration: none; font-style: normal; color: #ffffff;"><input name="San" id="control_San" style="border-radius: 6px; margin: 0 3px 5px 0px; width: 50px;" type="checkbox" label="San" />Increased sanitation measures</div>
</td>
</tr>

 

1 Accepted Solution
wodnicki
Correct answer by
Community Advisor
Community Advisor

Hi,

 

Move the JS to the bottom of the page, or add to $(function(){}), or just inline into the DOM itself instead of using JS:

<input name="San" id="control_San" style="border-radius: 6px; margin: 0 3px 5px 0px; width: 50px;" type="checkbox" label="San" checked="<%=ctx.vars.San%>"/>

 

Thanks,

-Jon

View solution in original post

4 Replies
Manoj_Kumar_
Community Advisor
Community Advisor

Hello @bryceh57660644 

 

What are you trying to do with the javascript code?

In the HTML code, I see only one checkbox but the javascript is trying to do something with the first checkbox among multiple checkboxes with the same id.

 

Can you share your full code?

 

Thanks,

Manoj

 

prasannakumarmarru
Level 4
Level 4

Hib @bryceh57660644 

I think Script is running even before the html element is rendered into document. You can try moving the script to different places than where you have it now?

wodnicki
Correct answer by
Community Advisor
Community Advisor

Hi,

 

Move the JS to the bottom of the page, or add to $(function(){}), or just inline into the DOM itself instead of using JS:

<input name="San" id="control_San" style="border-radius: 6px; margin: 0 3px 5px 0px; width: 50px;" type="checkbox" label="San" checked="<%=ctx.vars.San%>"/>

 

Thanks,

-Jon

View solution in original post

Sukrity_Wadhwa
Employee
Employee

Hi @bryceh57660644

Were you able to resolve this query with any of the given solutions? Do let us know.

Thanks!