simple one?

As there is no validation for a check box I slid in a Javascript function to check that a checkbox has been checked and to alert the user and stop the form from submitting if they haven't.
Done this many many times in classic ASP but .NET doesn't seem to want to play.
Have a made a syntax error? Is it something to do with all the forms being server-side?

The function:
<script language="javascript" type="text/javascript">
   function AgreeCheck() {
        if(document.form1.ChkAgree.checked = false)
            alert('Please tick the I agree box to continue');
            return false;

The event:
<form id="form1" runat="server" onsubmit="return AgreeCheck()">

The html server up:
<form name="form1" method="post" action="Default.aspx" onsubmit="javascript:return WebForm_OnSubmit();" id="form1">

document.form1.ChkAgree is null or not an object
LVL 29
Who is Participating?
Guy Hengel [angelIII / a3]Connect With a Mentor Billing EngineerCommented:
PAQing question with points refunded
angelIII, page editor
Guy Hengel [angelIII / a3]Billing EngineerCommented:
can you tell us how you defined the ChkAgree input?
I guess that the issue is case sensitivity...
Daniel ReynoldsSoftware Applications Developer / IntegratorCommented:
Is the ChkAgree control within the Form tags?
7 new features that'll make your work life better

It’s our mission to create a product that solves the huge challenges you face at work every day. In case you missed it, here are 7 delightful things we've added recently to monday to make it even more awesome.

QPRAuthor Commented:
<asp:CheckBox ID="ChkAgree" runat="server" />
Yes inside form tags
Daniel ReynoldsSoftware Applications Developer / IntegratorCommented:
Create a hidden field html field to carry the value of the checkbox. Set it when the checkbox is clicked.
Check the value of that field instead of the server control.
First fix your operator in the if statement to "==".  Then make sure your form tag is named "form1".  Based on your comment above it looks like your <input type="checkbox"...>, when rendered, may not have a name attribute.  It should render like this (do a View Source to see):

<input type="checkbox" id="ChkAfree" name="ChkAgree".../>

The name part of the name/value pair in an HTML form comes from the name attribute in the input tag.

QPRAuthor Commented:
changed operator to ==
added name="form1" (visual studio put a squiggle under that but no problem)

Same error null or not an object.
It would be null if unchecked would it? Can you give a checkbox an unchecked value?
QPRAuthor Commented:
solved it myself.
I changed the checkbox from an asp server side control to a bog standard html input type.
Now all is fine!
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.