dcsimg
www.webdeveloper.com
Results 1 to 10 of 10

Thread: I need the customer to tick the box before proceeding.... not working

  1. #1
    Join Date
    Nov 2012
    Posts
    7

    I need the customer to tick the box before proceeding.... not working

    Hi
    I need the customer to tick a box (accepting terms and conditions) before proceeding. I've done something wrong because the customer can proceed whether the box is ticked or not. How do I make it so that the customer cannot proceed without ticking the box?

    Here is the javascript in the body of the page:

    Code:
    <script type="text/javascript" language="JavaScript">
    <!--
    function checkCheckBoxes(theForm) {
    	if (
    	theForm.CHECKBOX_1.checked == false && 
    	{
    		alert ('You didn\'t choose any of the checkboxes!');
    		return false;
    	} else { 	
    		return true;
    	}
    }
    //-->
    </script>
    and here is the HTML:

    HTML Code:
    	<div style="clear:both;font-size:16px;margin-bottom:10px;">Total Amount  : <?php echo ($voucher->currency_code." ".$voucher->symbol  . number_format($voucher->price,2));?> </div>
    	<form action="../" onsubmit="return checkCheckBoxes(this);">
    	<p><input type="CHECKBOX" name="CHECKBOX_1" value="This..."> I agree to the terms and conditions</p>
    </form>
        <form method="POST" action="<?php echo get_permalink( get_page_by_path( 'checkout' ) ) ?>">
        	<input type="hidden" name="continuepayment" value="realexpayment" />
        	<input type="hidden" name="voucherguid" value="<?php echo trim($voucher_guid);?>" />
          	<input type="submit" class="wpcf7-form-control wpcf7-submit" value="Continue">
        </form>
    <?php
    
    } else {
    echo '<p>No coupon found</p>';
    }
    ?>
    		</section>
    	</div>
    </div>

    Thanks.

  2. #2
    Join Date
    May 2006
    Location
    Somewhere behind your screen
    Posts
    1,686
    try replacing

    Code:
    if (
    	theForm.CHECKBOX_1.checked == false &&
    with

    Code:
    if(theForm.CHECKBOX_1.checked == false)

  3. #3
    Join Date
    Nov 2012
    Posts
    7
    I made that change but I'm still able to proceed without ticking that box. Anything else I could try changing? Thanks.

  4. #4
    Join Date
    May 2006
    Location
    Somewhere behind your screen
    Posts
    1,686
    i haven't noticed that there are TWO forms in your html )) your onsubmit="return checkCheckBoxes(this);" is for the form which is never being submitted! remove the first form from the markup and put that checkbox inside the second form

  5. #5
    Join Date
    Nov 2012
    Posts
    7
    Quote Originally Posted by Padonak View Post
    i haven't noticed that there are TWO forms in your html )) your onsubmit="return checkCheckBoxes(this);" is for the form which is never being submitted! remove the first form from the markup and put that checkbox inside the second form
    I made that change but it still lets me proceed without ticking the box. This is the html I have now:

    Code:
    ?>
    	<div style="clear:both;font-size:16px;margin-bottom:10px;">Total Amount  : <?php echo ($voucher->currency_code." ".$voucher->symbol  . number_format($voucher->price,2));?> </div>
        <form method="POST" action="<?php echo get_permalink( get_page_by_path( 'checkout' ) ) ?>">
        	<input type="hidden" name="continuepayment" value="realexpayment" />
        	<input type="hidden" name="voucherguid" value="<?php echo trim($voucher_guid);?>" />
    		<p><input type="CHECKBOX" name="CHECKBOX_1" value="This..."> I agree to the terms and conditions</p>		
          	<input type="submit" class="wpcf7-form-control wpcf7-submit" value="Continue">
        </form>
    <?php

  6. #6
    Join Date
    May 2006
    Location
    Somewhere behind your screen
    Posts
    1,686
    Code:
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="utf-8" />
    <title>checkbox</title>
    <script>
    function checkCheckBoxes(theForm){
    if(theForm.checkbox_1.checked == false){
    alert ('You didn\'t choose any of the checkboxes!');
    return false;
    }
    else{return true;}
    }
    window.onload=function(){
    document.getElementById('postform').onsubmit=function(){return checkCheckBoxes(this);}
    }
    </script>
    </head>
    <body>
    <div style="clear:both;font-size:16px;margin-bottom:10px;">Total Amount  : 10 </div>
    <form id="postform" method="post" action="">
    <input type="hidden" name="continuepayment" value="realexpayment" />
    <input type="hidden" name="voucherguid" value="12345" />
    <p><input type="checkbox" name="checkbox_1" value="This..." /> I agree to the terms and conditions</p>		
    <input type="submit" class="wpcf7-form-control wpcf7-submit" value="Continue" />
    </form>
    </body>
    </html>

  7. #7
    Join Date
    Nov 2012
    Posts
    7
    Thank you very much. I appreciate it. Works like a charm!

  8. #8
    Join Date
    Mar 2007
    Location
    localhost
    Posts
    2,589
    And all that goes down the pan if the visitor has no javascript or it is disabled...
    If your post falls off the page, bump it. ...
    Please remember to wrap any code you have in forum tags:-

    [CODE]...[/CODE] [HTML]...[/HTML] [PHP]...[/PHP]

    If you can't think outside the box, you will be trapped forever with no escape...

  9. #9
    Join Date
    May 2006
    Location
    Somewhere behind your screen
    Posts
    1,686
    yes that's true. to make it really required you need to have one more check at the server-side

  10. #10
    Join Date
    Mar 2007
    Location
    localhost
    Posts
    2,589
    IMHO this might benefit from PHP and Sessions or an alternative would be to use the <noscript> option.

    Perhaps something like...
    HTML Code:
    <noscript>
        <p>To continue using this site you agree to the terms and conditions of the site, Blah Blah Blah</p>
        <a href="next_page.php?noscript=agree">I Agree</a> |  <a href="next_page.php?noscript=dontagree">I Don't Agree</a>
    </noscript>
    and have a notice that if the person has JavaScript in their browser disabled then they should turn it on because your site requires it or a suitable message.
    If your post falls off the page, bump it. ...
    Please remember to wrap any code you have in forum tags:-

    [CODE]...[/CODE] [HTML]...[/HTML] [PHP]...[/PHP]

    If you can't think outside the box, you will be trapped forever with no escape...

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
HTML5 Development Center



Recent Articles