Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Get ID or value of a checkbox onclick of that checkbox in pure Javascript

I'm working on a script for my company that, upon clicking a checkbox:

  • Fires function OptionSelected()
  • Gets ID of that checkbox
  • Performs a bitwise operation based on that ID

Or, preferably:

  • Fires function OptionSelected()
  • Fetches the integer assigned to that checkbox (<input="checkbox" value="2", get 2)
  • Performs bitwise operation with that value.

To debug, I am having my code return to me an alert with the value inside. I've yet to write the bitwise operations portion.

Here is my js code:

function OptionsSelected(e)
{
    alert(e.target.id);
}

And the example checkbox it references:

<input type="checkbox" name="checkgrp" onclick="return OptionsSelected(e)" value="2" id="eXAMPLE"><LABEL id="LeXAMPLE"></LABEL>

When I click the box in runtime, I get this javascript error message:

enter image description here

Does anyone have a fix for this? I suppose it's rather simple, so in addition to supplying your fix, would you explain why your fix works?

Bonus points if your solution saves me time by directly pulling the bitwise value in place of the actual ID.

Note: I can't employ the GetElementByID method because I'll be fetching the ID or value, not using it to perform an action.

Thanks, everyone!

like image 484
jwarner112 Avatar asked Dec 18 '13 15:12

jwarner112


People also ask

What is the value of checkbox in JavaScript?

If a checkbox is marked or checked, it indicates to true; this means that the user has selected the value. If a checkbox is unmarked or not checked, it indicated to false; this means that the user has not selected the value.

Can we use OnClick for checkbox?

The CheckBox has been assigned a JavaScript OnClick event handler. When the CheckBox is clicked, the ShowHideDiv JavaScript function is executed. Inside this function, based on whether CheckBox is checked (selected) or unchecked (unselected), the HTML DIV with TextBox is shown or hidden.

How can I get checkbox in JavaScript?

To get the state of a checkbox, you follow these steps: First, select the checkbox using a DOM method such as getElementById() or querySelector() . Then, access the checked property of the checkbox element. If its checked property is true , then the checkbox is checked; otherwise, it is not.


2 Answers

When you call the script using the onclick attribute, you are calling the function yourself. So in this case, you're passing a variable called e which you've never defined.

Instead, you could pass a reference to the checkbox that you clicked:

<input type="checkbox" name="checkgrp" onclick="return OptionsSelected(this)" value="2" id="eXAMPLE"><LABEL id="LeXAMPLE"></LABEL>

And in OptionsSelected you would do this:

function OptionsSelected(me)
{
    alert(me.id);
}
like image 69
Tom Pietrosanti Avatar answered Oct 16 '22 10:10

Tom Pietrosanti


Variable e is not defined when you are calling your function OptionsSelected. To resolve that you can either go with Tom's solution.

or

Looking at your attached error message, i guess that you tested your code on IE. Just for your reference, 'target' property is not supported by IE,they use srcElement. so you could do something like this :

In html,

<input type="checkbox" name="checkgrp" onclick="return OptionsSelected(window.event)" value="2" id="eXAMPLE"><LABEL id="LeXAMPLE"></LABEL>

In javascript,

function OptionsSelected(e)
{
   alert((e.target || e.srcElement).value);
}

so that it will work on all the browsers.

like image 44
Kirti Thorat Avatar answered Oct 16 '22 09:10

Kirti Thorat