Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 173
  • Last Modified:

Can't set checkbox to false because my fieldname/idfield contains a PERIOD.????

How can I set this checkbox to false?

I have this function that gets called, the function does some other things, but the one thing it is not doing is setting my checkbox to false so its no longer "checked" visually.  I do not get an error, it just does not work.

function chk(ob,ismaster,requiredCheckBox)      {
            alert(requiredCheckBox);
                requiredCheckBox.checked = false;
}

When I do the alert the value I see is :     required_someUniqueIdField.streetAddress

There is clearly a period in my field names, but that is because they are dynamic and must be this way, but it seems to throw things off.  

So in other words:  requiredCheckBox.checked is really: required_someUniqueIdField.streetAddress.checked = false;  

Is there a way I can keep my current field name and achieve what I want given the fact there is a period in the field name?

Thanks,

-ws
0
Westside2004
Asked:
Westside2004
1 Solution
 
stanscott2Commented:
Use brackets, rather than dot notation, like this:

<html>
<body>

<form>
     <input type="checkbox" name="thisTest.myName">
</form>

<script type="text/javascript">
   var myCheckBox = "thisTest.myName";
   document.getElementsByTagName("form")[0][myCheckBox].checked = true;
</script>

</body>
</html>

0
 
Pravin AsarPrincipal Systems EngineerCommented:
<script type="text/javascript">
function TestCheckBox (theForm) {
   for (ix=0; ix < theForm.elements.length; ix++) {
       var fld = theForm.elements[ix];
       ///  
       if (fld.name == 'checkbox1.fld1') { fld.checked= false; break; }
   }
   return false;
}
</script>
<form>
<table>
<tr>
<td  colspan="2"><input type="checkbox" name="checkbox1.fld1" checked>Option
</td>
<td>
<input type="button" value="Test " onclick="TestCheckBox(this.form);">
</td>
</tr>
</table>
0
 
Westside2004Author Commented:
Hi,

I changed the fieldname so it does not have a period in it, but the code still does not work.  Here is the complete code with explanation

I am creating a dynamic form builder where the user can choose a field and decide if this field is required or not.  So if the user checks the box next to the field, that field will appear on a form ultimately.  They also can click a checkbox next to the field and make it that field required or not when the form ultimately renders.

If they choose to make the field required, I automatically select the checkbox next to the field for them.  However, if they deselect the checkbox next to the field, the required checkbox still remains checked and I want to make it UNCHECKED.   It is a bit confusing, but I am hoping this makes sense.

function chk(ob,ismaster,requiredCheckBox)      {
     var isCheck = ob.checked;
     var d=document.getElementsByTagName("input");
     var testAll = true;
   
            for(var i=0;i<d.length;i++) {
   
                  if (!ismaster) {
      // Sub- box was checked
            if (d[i].type && d[i].type=='checkbox') {
              if (d[i].name=='checkAll') {
             var theMaster = d[i];
           }
                               else {
             testAll=(d[i].checked && testAll);  // set testAll to false if any are false
           }
        }
                  }
                  else {
            // Master box was checked
        if(d[i].type && d[i].type=='checkbox' && d[i].name.indexOf((ismaster))!=-1) d[i].checked = isCheck;
      }
   } // close for loop

   if (!ismaster) theMaster.checked=testAll;

      } // close function


The parameter I pass in is called "requiredCheckBox" I want to set this to false if the user unchecks the field.

-ws
0

Featured Post

Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now