Enjoy unlimited access to all forum features for FREE! Optional upgrade available for extra perks.

Javascript issue

Discussion in 'Scripts and Coding' started by bensd, Jul 8, 2012.

Thread Status:
Not open for further replies.
  1. bensd United Kingdom

    bensd Well-Known Member

    Joined:
    Jan 2007
    Posts:
    5,103
    Likes Received:
    79
    I have posted this the opencart forum and a developers forum with no reply :( If anyone here knows the answer would be much appreciated.

    I am working on an ecommerce site using opencart.

    The original checkout page flags up a warning if you don't tick the terms and conditions box.

    Original checkout page (terms & conditions section):
    Code:
    <?php if ($error_warning) { ?>
    <div class="warning"><?php echo $error_warning; ?></div>
    <?php } ?>
    <?php if ($payment_methods) { ?>
    <p><?php echo $text_payment_method; ?></p>
    <table class="radio">
      <?php foreach ($payment_methods as $payment_method) { ?>
      <tr class="highlight">
        <td><?php if ($payment_method['code'] == $code || !$code) { ?>
          <?php $code = $payment_method['code']; ?>
          <input type="radio" name="payment_method" value="<?php echo $payment_method['code']; ?>" id="<?php echo $payment_method['code']; ?>" checked="checked" />
          <?php } else { ?>
          <input type="radio" name="payment_method" value="<?php echo $payment_method['code']; ?>" id="<?php echo $payment_method['code']; ?>" />
          <?php } ?></td>
        <td><label for="<?php echo $payment_method['code']; ?>"><?php echo $payment_method['title']; ?></label></td>
      </tr>
      <?php } ?>
    </table>
    <br />
    <?php } ?>
    <b><?php echo $text_comments; ?></b>
    <textarea name="comment" rows="8" style="width: 98%;"><?php echo $comment; ?></textarea>
    <br />
    <br />
    <?php if ($text_agree) { ?>
    <div class="buttons">
      <div class="right"><?php echo $text_agree; ?>
        <?php if ($agree) { ?>
        <input type="checkbox" name="agree" value="1" checked="checked" />
        <?php } else { ?>
        <input type="checkbox" name="agree" value="1" />
        <?php } ?>
        <input type="button" value="<?php echo $button_continue; ?>" id="button-payment-method" class="button" />
      </div>
    </div>
    <?php } else { ?>
    <div class="buttons">
      <div class="right">
        <input type="button" value="<?php echo $button_continue; ?>" id="button-payment-method" class="button" />
      </div>
    </div>
    <?php } ?>
    <script type="text/javascript"><!--
    $('.colorbox').colorbox({
    	width: 560,
    	height: 560
    });
    //--></script> 
    I recently bought a different checkout module (ubercart) which compacts the checkout process.

    The deafult setting of ubercart only shows the payment method when you click the terms and conditions. I didn't like this I have set it so the payment method is always shown however, I now need to call an error if the terms and conditions box isn't ticked.

    Ubercart checkout page (terms & conditions section):
    Code:
          <!-- Agree -->
          <?php if ($text_agree) { ?>
    	  <div class="buttons agree">
    		<div class="right" style="width:100%"><?php echo $text_agree; ?>
    		  <?php if ($agree) { ?>
    		  <input type="checkbox" name="agree" value="1" checked="checked" />
    		  <?php } else { ?>
    		  <input type="checkbox" name="agree" value="1" />
    		  <?php } ?>
    		</div>
          </div>
          <?php } ?>
          <!-- Agree -->
    
    
          <!-- Payment -->
          <div class="content" id="payment_div"<?php echo $payment; ?></div>
          <!-- Payment -->
    If anyone could help it would be much appreciated.
     
  2. Domain Forum

    Acorn Domains Elite Member

    Joined:
    1999
    Messages:
    Many
    Likes Received:
    Lots
    IWA Meetup
     
  3. StudioVision United Kingdom

    StudioVision Active Member

    Joined:
    Jan 2007
    Posts:
    858
    Likes Received:
    24
    Hi Ben,

    It doesn't look like a javascript problem to me - the only javascript I can see is abit of jQuery that references the class .colorbox (I can't see any element with the .colorbox class in the code you provided.

    The pseudo PHP code could be as simple as:

    PHP:
    if ( $agree != ) {
    stop processing form
    show error
    }
    This would have to be implemented in the code where the form gets processed.

    Hope this helps!

    Craig
     
  4. bensd United Kingdom

    bensd Well-Known Member

    Joined:
    Jan 2007
    Posts:
    5,103
    Likes Received:
    79
    Thanks for your reply, Craig.

    I should have posted this up earlier but it's actually a section of a larger form:

    Code:
    <?php echo $header; ?><?php echo $column_left; ?><?php echo $column_right; ?>
    <div id="content"><?php echo $content_top; ?>
      <div class="breadcrumb">
        <?php foreach ($breadcrumbs as $breadcrumb) { ?>
        <?php echo $breadcrumb['separator']; ?><a href="<?php echo $breadcrumb['href']; ?>"><?php echo $breadcrumb['text']; ?></a>
        <?php } ?>
      </div>
      <h1><?php echo $heading_title; ?></h1>
      <div class="checkout">
        <div id="checkout">
          <div class="checkout-heading"><?php echo $text_checkout_option; ?></div>
          <div class="checkout-content"></div>
        </div>
        <?php if (!$logged) { ?>
        <div id="payment-address">
          <div class="checkout-heading"><span><?php echo $text_checkout_account; ?></span></div>
          <div class="checkout-content"></div>
        </div>
        <?php } else { ?>
        <div id="payment-address">
          <div class="checkout-heading"><span><?php echo $text_checkout_payment_address; ?></span></div>
          <div class="checkout-content"></div>
        </div>
        <?php } ?>
        <?php if ($shipping_required) { ?>
        <div id="shipping-address">
          <div class="checkout-heading"><?php echo $text_checkout_shipping_address; ?></div>
          <div class="checkout-content"></div>
        </div>
        <div id="shipping-method">
          <div class="checkout-heading"><?php echo $text_checkout_shipping_method; ?></div>
          <div class="checkout-content"></div>
        </div>
        <?php } ?>
        <div id="payment-method">
          <div class="checkout-heading"><?php echo $text_checkout_payment_method; ?></div>
          <div class="checkout-content"></div>
        </div>
        <div id="confirm">
          <div class="checkout-heading"><?php echo $text_checkout_confirm; ?></div>
          <div class="checkout-content"></div>
        </div>
      </div>
      <?php echo $content_bottom; ?></div>
    <script type="text/javascript"><!--
    $('#checkout .checkout-content input[name=\'account\']').live('change', function() {
    	if ($(this).attr('value') == 'register') {
    		$('#payment-address .checkout-heading span').html('<?php echo $text_checkout_account; ?>');
    	} else {
    		$('#payment-address .checkout-heading span').html('<?php echo $text_checkout_payment_address; ?>');
    	}
    });
    
    $('.checkout-heading a').live('click', function() {
    	$('.checkout-content').slideUp('slow');
    	
    	$(this).parent().parent().find('.checkout-content').slideDown('slow');
    });
    <?php if (!$logged) { ?> 
    $(document).ready(function() {
    	$.ajax({
    		url: 'index.php?route=checkout/login',
    		dataType: 'html',
    		success: function(html) {
    			$('#checkout .checkout-content').html(html);
    				
    			$('#checkout .checkout-content').slideDown('slow');
    		},
    		error: function(xhr, ajaxOptions, thrownError) {
    			alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText);
    		}
    	});	
    });		
    <?php } else { ?>
    $(document).ready(function() {
    	$.ajax({
    		url: 'index.php?route=checkout/payment_address',
    		dataType: 'html',
    		success: function(html) {
    			$('#payment-address .checkout-content').html(html);
    				
    			$('#payment-address .checkout-content').slideDown('slow');
    		},
    		error: function(xhr, ajaxOptions, thrownError) {
    			alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText);
    		}
    	});	
    });
    <?php } ?>
    
    // Checkout
    $('#button-account').live('click', function() {
    	$.ajax({
    		url: 'index.php?route=checkout/' + $('input[name=\'account\']:checked').attr('value'),
    		dataType: 'html',
    		beforeSend: function() {
    			$('#button-account').attr('disabled', true);
    			$('#button-account').after('<span class="wait">&nbsp;<img src="catalog/view/theme/default/image/loading.gif" alt="" /></span>');
    		},		
    		complete: function() {
    			$('#button-account').attr('disabled', false);
    			$('.wait').remove();
    		},			
    		success: function(html) {
    			$('.warning').remove();
    			
    			$('#payment-address .checkout-content').html(html);
    				
    			$('#checkout .checkout-content').slideUp('slow');
    				
    			$('#payment-address .checkout-content').slideDown('slow');
    				
    			$('.checkout-heading a').remove();
    				
    			$('#checkout .checkout-heading').append('<a><?php echo $text_modify; ?></a>');
    		},
    		error: function(xhr, ajaxOptions, thrownError) {
    			alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText);
    		}
    	});
    });
    
    // Login
    $('#button-login').live('click', function() {
    	$.ajax({
    		url: 'index.php?route=checkout/login/validate',
    		type: 'post',
    		data: $('#checkout #login :input'),
    		dataType: 'json',
    		beforeSend: function() {
    			$('#button-login').attr('disabled', true);
    			$('#button-login').after('<span class="wait">&nbsp;<img src="catalog/view/theme/default/image/loading.gif" alt="" /></span>');
    		},	
    		complete: function() {
    			$('#button-login').attr('disabled', false);
    			$('.wait').remove();
    		},				
    		success: function(json) {
    			$('.warning').remove();
    			
    			if (json['redirect']) {
    				location = json['redirect'];
    			}
    									
    			if (json['error']) {
    				$('#checkout .checkout-content').prepend('<div class="warning" style="display: none;">' + json['error']['warning'] + '</div>');
    				
    				$('.warning').fadeIn('slow');
    			}
    		},
    		error: function(xhr, ajaxOptions, thrownError) {
    			alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText);
    		}
    	});	
    });
    
    // Register
    $('#button-register').live('click', function() {
    	$.ajax({
    		url: 'index.php?route=checkout/register/validate',
    		type: 'post',
    		data: $('#payment-address input[type=\'text\'], #payment-address input[type=\'password\'], #payment-address input[type=\'checkbox\']:checked, #payment-address input[type=\'radio\']:checked, #payment-address input[type=\'hidden\'], #payment-address select'),
    		dataType: 'json',
    		beforeSend: function() {
    			$('#button-register').attr('disabled', true);
    			$('#button-register').after('<span class="wait">&nbsp;<img src="catalog/view/theme/default/image/loading.gif" alt="" /></span>');
    		},	
    		complete: function() {
    			$('#button-register').attr('disabled', false); 
    			$('.wait').remove();
    		},			
    		success: function(json) {
    			$('.warning, .error').remove();
    						
    			if (json['redirect']) {
    				location = json['redirect'];
    			}
    						
    			if (json['error']) {
    				if (json['error']['warning']) {
    					$('#payment-address .checkout-content').prepend('<div class="warning" style="display: none;">' + json['error']['warning'] + '</div>');
    					
    					$('.warning').fadeIn('slow');
    				}
    				
    				if (json['error']['firstname']) {
    					$('#payment-address input[name=\'firstname\'] + br').after('<span class="error">' + json['error']['firstname'] + '</span>');
    				}
    				
    				if (json['error']['lastname']) {
    					$('#payment-address input[name=\'lastname\'] + br').after('<span class="error">' + json['error']['lastname'] + '</span>');
    				}	
    				
    				if (json['error']['email']) {
    					$('#payment-address input[name=\'email\'] + br').after('<span class="error">' + json['error']['email'] + '</span>');
    				}
    				
    				if (json['error']['telephone']) {
    					$('#payment-address input[name=\'telephone\'] + br').after('<span class="error">' + json['error']['telephone'] + '</span>');
    				}		
    										
    				if (json['error']['address_1']) {
    					$('#payment-address input[name=\'address_1\'] + br').after('<span class="error">' + json['error']['address_1'] + '</span>');
    				}	
    				
    				if (json['error']['city']) {
    					$('#payment-address input[name=\'city\'] + br').after('<span class="error">' + json['error']['city'] + '</span>');
    				}	
    				
    				if (json['error']['postcode']) {
    					$('#payment-address input[name=\'postcode\'] + br').after('<span class="error">' + json['error']['postcode'] + '</span>');
    				}	
    				
    				if (json['error']['country']) {
    					$('#payment-address select[name=\'country_id\'] + br').after('<span class="error">' + json['error']['country'] + '</span>');
    				}	
    				
    				if (json['error']['zone']) {
    					$('#payment-address select[name=\'zone_id\'] + br').after('<span class="error">' + json['error']['zone'] + '</span>');
    				}
    				
    				if (json['error']['password']) {
    					$('#payment-address input[name=\'password\'] + br').after('<span class="error">' + json['error']['password'] + '</span>');
    				}	
    				
    				if (json['error']['confirm']) {
    					$('#payment-address input[name=\'confirm\'] + br').after('<span class="error">' + json['error']['confirm'] + '</span>');
    				}																																	
    			} else {
    				<?php if ($shipping_required) { ?>				
    				var shipping_address = $('#payment-address input[name=\'shipping_address\']:checked').attr('value');
    				
    				if (shipping_address) {
    					$.ajax({
    						url: 'index.php?route=checkout/shipping_method',
    						dataType: 'html',
    						success: function(html) {
    							$('#shipping-method .checkout-content').html(html);
    							
    							$('#payment-address .checkout-content').slideUp('slow');
    							
    							$('#shipping-method .checkout-content').slideDown('slow');
    							
    							$('#checkout .checkout-heading a').remove();
    							$('#payment-address .checkout-heading a').remove();
    							$('#shipping-address .checkout-heading a').remove();
    							$('#shipping-method .checkout-heading a').remove();
    							$('#payment-method .checkout-heading a').remove();											
    							
    							$('#shipping-address .checkout-heading').append('<a><?php echo $text_modify; ?></a>');									
    							$('#payment-address .checkout-heading').append('<a><?php echo $text_modify; ?></a>');	
    
    							$.ajax({
    								url: 'index.php?route=checkout/shipping_address',
    								dataType: 'html',
    								success: function(html) {
    									$('#shipping-address .checkout-content').html(html);
    								},
    								error: function(xhr, ajaxOptions, thrownError) {
    									alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText);
    								}
    							});	
    						},
    						error: function(xhr, ajaxOptions, thrownError) {
    							alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText);
    						}
    					});	
    				} else {
    					$.ajax({
    						url: 'index.php?route=checkout/shipping_address',
    						dataType: 'html',
    						success: function(html) {
    							$('#shipping-address .checkout-content').html(html);
    							
    							$('#payment-address .checkout-content').slideUp('slow');
    							
    							$('#shipping-address .checkout-content').slideDown('slow');
    							
    							$('#checkout .checkout-heading a').remove();
    							$('#payment-address .checkout-heading a').remove();
    							$('#shipping-address .checkout-heading a').remove();
    							$('#shipping-method .checkout-heading a').remove();
    							$('#payment-method .checkout-heading a').remove();							
    
    							$('#payment-address .checkout-heading').append('<a><?php echo $text_modify; ?></a>');	
    						},
    						error: function(xhr, ajaxOptions, thrownError) {
    							alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText);
    						}
    					});			
    				}
    				<?php } else { ?>
    				$.ajax({
    					url: 'index.php?route=checkout/payment_method',
    					dataType: 'html',
    					success: function(html) {
    						$('#payment-method .checkout-content').html(html);
    						
    						$('#payment-address .checkout-content').slideUp('slow');
    						
    						$('#payment-method .checkout-content').slideDown('slow');
    						
    						$('#checkout .checkout-heading a').remove();
    						$('#payment-address .checkout-heading a').remove();
    						$('#payment-method .checkout-heading a').remove();								
    						
    						$('#payment-address .checkout-heading').append('<a><?php echo $text_modify; ?></a>');	
    					},
    					error: function(xhr, ajaxOptions, thrownError) {
    						alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText);
    					}
    				});					
    				<?php } ?>
    				
    				$.ajax({
    					url: 'index.php?route=checkout/payment_address',
    					dataType: 'html',
    					success: function(html) {
    						$('#payment-address .checkout-content').html(html);
    							
    						$('#payment-address .checkout-heading span').html('<?php echo $text_checkout_payment_address; ?>');
    					},
    					error: function(xhr, ajaxOptions, thrownError) {
    						alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText);
    					}
    				});
    			}	 
    		},
    		error: function(xhr, ajaxOptions, thrownError) {
    			alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText);
    		}
    	});	
    });
    
    // Payment Address	
    $('#button-payment-address').live('click', function() {
    	$.ajax({
    		url: 'index.php?route=checkout/payment_address/validate',
    		type: 'post',
    		data: $('#payment-address input[type=\'text\'], #payment-address input[type=\'password\'], #payment-address input[type=\'checkbox\']:checked, #payment-address input[type=\'radio\']:checked, #payment-address input[type=\'hidden\'], #payment-address select'),
    		dataType: 'json',
    		beforeSend: function() {
    			$('#button-payment-address').attr('disabled', true);
    			$('#button-payment-address').after('<span class="wait">&nbsp;<img src="catalog/view/theme/default/image/loading.gif" alt="" /></span>');
    		},	
    		complete: function() {
    			$('#button-payment-address').attr('disabled', false);
    			$('.wait').remove();
    		},			
    		success: function(json) {
    			$('.error').remove();
    			
    			if (json['redirect']) {
    				location = json['redirect'];
    			}
    			
    			if (json['error']) {
    				if (json['error']['firstname']) {
    					$('#payment-address input[name=\'firstname\']').after('<span class="error">' + json['error']['firstname'] + '</span>');
    				}
    				
    				if (json['error']['lastname']) {
    					$('#payment-address input[name=\'lastname\']').after('<span class="error">' + json['error']['lastname'] + '</span>');
    				}	
    				
    				if (json['error']['telephone']) {
    					$('#payment-address input[name=\'telephone\']').after('<span class="error">' + json['error']['telephone'] + '</span>');
    				}		
    										
    				if (json['error']['address_1']) {
    					$('#payment-address input[name=\'address_1\']').after('<span class="error">' + json['error']['address_1'] + '</span>');
    				}	
    				
    				if (json['error']['city']) {
    					$('#payment-address input[name=\'city\']').after('<span class="error">' + json['error']['city'] + '</span>');
    				}	
    				
    				if (json['error']['postcode']) {
    					$('#payment-address input[name=\'postcode\']').after('<span class="error">' + json['error']['postcode'] + '</span>');
    				}	
    				
    				if (json['error']['country']) {
    					$('#payment-address select[name=\'country_id\']').after('<span class="error">' + json['error']['country'] + '</span>');
    				}	
    				
    				if (json['error']['zone']) {
    					$('#payment-address select[name=\'zone_id\']').after('<span class="error">' + json['error']['zone'] + '</span>');
    				}
    			} else {
    				<?php if ($shipping_required) { ?>
    				$.ajax({
    					url: 'index.php?route=checkout/shipping_address',
    					dataType: 'html',
    					success: function(html) {
    						$('#shipping-address .checkout-content').html(html);
    					
    						$('#payment-address .checkout-content').slideUp('slow');
    						
    						$('#shipping-address .checkout-content').slideDown('slow');
    						
    						$('#payment-address .checkout-heading a').remove();
    						$('#shipping-address .checkout-heading a').remove();
    						$('#shipping-method .checkout-heading a').remove();
    						$('#payment-method .checkout-heading a').remove();
    						
    						$('#payment-address .checkout-heading').append('<a><?php echo $text_modify; ?></a>');	
    					},
    					error: function(xhr, ajaxOptions, thrownError) {
    						alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText);
    					}
    				});
    				<?php } else { ?>
    				$.ajax({
    					url: 'index.php?route=checkout/payment_method',
    					dataType: 'html',
    					success: function(html) {
    						$('#payment-method .checkout-content').html(html);
    					
    						$('#payment-address .checkout-content').slideUp('slow');
    						
    						$('#payment-method .checkout-content').slideDown('slow');
    						
    						$('#payment-address .checkout-heading a').remove();
    						$('#payment-method .checkout-heading a').remove();
    													
    						$('#payment-address .checkout-heading').append('<a><?php echo $text_modify; ?></a>');	
    					},
    					error: function(xhr, ajaxOptions, thrownError) {
    						alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText);
    					}
    				});	
    				<?php } ?>
    				
    				$.ajax({
    					url: 'index.php?route=checkout/payment_address',
    					dataType: 'html',
    					success: function(html) {
    						$('#payment-address .checkout-content').html(html);
    					},
    					error: function(xhr, ajaxOptions, thrownError) {
    						alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText);
    					}
    				});					
    			}	  
    		},
    		error: function(xhr, ajaxOptions, thrownError) {
    			alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText);
    		}
    	});	
    });
    
    // Shipping Address			
    $('#button-shipping-address').live('click', function() {
    	$.ajax({
    		url: 'index.php?route=checkout/shipping_address/validate',
    		type: 'post',
    		data: $('#shipping-address input[type=\'text\'], #shipping-address input[type=\'password\'], #shipping-address input[type=\'checkbox\']:checked, #shipping-address input[type=\'radio\']:checked, #shipping-address select'),
    		dataType: 'json',
    		beforeSend: function() {
    			$('#button-shipping-address').attr('disabled', true);
    			$('#button-shipping-address').after('<span class="wait">&nbsp;<img src="catalog/view/theme/default/image/loading.gif" alt="" /></span>');
    		},	
    		complete: function() {
    			$('#button-shipping-address').attr('disabled', false);
    			$('.wait').remove();
    		},			
    		success: function(json) {
    			$('.error').remove();
    			
    			if (json['redirect']) {
    				location = json['redirect'];
    			}
    			
    			if (json['error']) {
    				if (json['error']['firstname']) {
    					$('#shipping-address input[name=\'firstname\']').after('<span class="error">' + json['error']['firstname'] + '</span>');
    				}
    				
    				if (json['error']['lastname']) {
    					$('#shipping-address input[name=\'lastname\']').after('<span class="error">' + json['error']['lastname'] + '</span>');
    				}	
    				
    				if (json['error']['email']) {
    					$('#shipping-address input[name=\'email\']').after('<span class="error">' + json['error']['email'] + '</span>');
    				}
    				
    				if (json['error']['telephone']) {
    					$('#shipping-address input[name=\'telephone\']').after('<span class="error">' + json['error']['telephone'] + '</span>');
    				}		
    										
    				if (json['error']['address_1']) {
    					$('#shipping-address input[name=\'address_1\']').after('<span class="error">' + json['error']['address_1'] + '</span>');
    				}	
    				
    				if (json['error']['city']) {
    					$('#shipping-address input[name=\'city\']').after('<span class="error">' + json['error']['city'] + '</span>');
    				}	
    				
    				if (json['error']['postcode']) {
    					$('#shipping-address input[name=\'postcode\']').after('<span class="error">' + json['error']['postcode'] + '</span>');
    				}	
    				
    				if (json['error']['country']) {
    					$('#shipping-address select[name=\'country_id\']').after('<span class="error">' + json['error']['country'] + '</span>');
    				}	
    				
    				if (json['error']['zone']) {
    					$('#shipping-address select[name=\'zone_id\']').after('<span class="error">' + json['error']['zone'] + '</span>');
    				}
    			} else {
    				$.ajax({
    					url: 'index.php?route=checkout/shipping_method',
    					dataType: 'html',
    					success: function(html) {
    						$('#shipping-method .checkout-content').html(html);
    						
    						$('#shipping-address .checkout-content').slideUp('slow');
    						
    						$('#shipping-method .checkout-content').slideDown('slow');
    						
    						$('#shipping-address .checkout-heading a').remove();
    						$('#shipping-method .checkout-heading a').remove();
    						$('#payment-method .checkout-heading a').remove();
    						
    						$('#shipping-address .checkout-heading').append('<a><?php echo $text_modify; ?></a>');							
    						
    						$.ajax({
    							url: 'index.php?route=checkout/shipping_address',
    							dataType: 'html',
    							success: function(html) {
    								$('#shipping-address .checkout-content').html(html);
    							},
    							error: function(xhr, ajaxOptions, thrownError) {
    								alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText);
    							}
    						});						
    					},
    					error: function(xhr, ajaxOptions, thrownError) {
    						alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText);
    					}
    				});	
    			}  
    		},
    		error: function(xhr, ajaxOptions, thrownError) {
    			alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText);
    		}
    	});	
    });
    
    // Guest
    $('#button-guest').live('click', function() {
    	$.ajax({
    		url: 'index.php?route=checkout/guest/validate',
    		type: 'post',
    		data: $('#payment-address input[type=\'text\'], #payment-address input[type=\'checkbox\']:checked, #payment-address select'),
    		dataType: 'json',
    		beforeSend: function() {
    			$('#button-guest').attr('disabled', true);
    			$('#button-guest').after('<span class="wait">&nbsp;<img src="catalog/view/theme/default/image/loading.gif" alt="" /></span>');
    		},	
    		complete: function() {
    			$('#button-guest').attr('disabled', false); 
    			$('.wait').remove();
    		},			
    		success: function(json) {
    			$('.error').remove();
    			
    			if (json['redirect']) {
    				location = json['redirect'];
    			}
    			
    			if (json['error']) {
    				if (json['error']['firstname']) {
    					$('#payment-address input[name=\'firstname\'] + br').after('<span class="error">' + json['error']['firstname'] + '</span>');
    				}
    				
    				if (json['error']['lastname']) {
    					$('#payment-address input[name=\'lastname\'] + br').after('<span class="error">' + json['error']['lastname'] + '</span>');
    				}	
    				
    				if (json['error']['email']) {
    					$('#payment-address input[name=\'email\'] + br').after('<span class="error">' + json['error']['email'] + '</span>');
    				}
    				
    				if (json['error']['telephone']) {
    					$('#payment-address input[name=\'telephone\'] + br').after('<span class="error">' + json['error']['telephone'] + '</span>');
    				}		
    										
    				if (json['error']['address_1']) {
    					$('#payment-address input[name=\'address_1\'] + br').after('<span class="error">' + json['error']['address_1'] + '</span>');
    				}	
    				
    				if (json['error']['city']) {
    					$('#payment-address input[name=\'city\'] + br').after('<span class="error">' + json['error']['city'] + '</span>');
    				}	
    				
    				if (json['error']['postcode']) {
    					$('#payment-address input[name=\'postcode\'] + br').after('<span class="error">' + json['error']['postcode'] + '</span>');
    				}	
    				
    				if (json['error']['country']) {
    					$('#payment-address select[name=\'country_id\'] + br').after('<span class="error">' + json['error']['country'] + '</span>');
    				}	
    				
    				if (json['error']['zone']) {
    					$('#payment-address select[name=\'zone_id\'] + br').after('<span class="error">' + json['error']['zone'] + '</span>');
    				}
    			} else {
    				<?php if ($shipping_required) { ?>	
    				var shipping_address = $('#payment-address input[name=\'shipping_address\']:checked').attr('value');
    				
    				if (shipping_address) {
    					$.ajax({
    						url: 'index.php?route=checkout/shipping_method',
    						dataType: 'html',
    						success: function(html) {
    							$('#shipping-method .checkout-content').html(html);
    							
    							$('#payment-address .checkout-content').slideUp('slow');
    							
    							$('#shipping-method .checkout-content').slideDown('slow');
    							
    							$('#payment-address .checkout-heading a').remove();
    							$('#shipping-address .checkout-heading a').remove();
    							$('#shipping-method .checkout-heading a').remove();
    							$('#payment-method .checkout-heading a').remove();		
    															
    							$('#payment-address .checkout-heading').append('<a><?php echo $text_modify; ?></a>');	
    							$('#shipping-address .checkout-heading').append('<a><?php echo $text_modify; ?></a>');									
    							
    							$.ajax({
    								url: 'index.php?route=checkout/guest_shipping',
    								dataType: 'html',
    								success: function(html) {
    									$('#shipping-address .checkout-content').html(html);
    								},
    								error: function(xhr, ajaxOptions, thrownError) {
    									alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText);
    								}
    							});
    						},
    						error: function(xhr, ajaxOptions, thrownError) {
    							alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText);
    						}
    					});					
    				} else {
    					$.ajax({
    						url: 'index.php?route=checkout/guest_shipping',
    						dataType: 'html',
    						success: function(html) {
    							$('#shipping-address .checkout-content').html(html);
    							
    							$('#payment-address .checkout-content').slideUp('slow');
    							
    							$('#shipping-address .checkout-content').slideDown('slow');
    							
    							$('#payment-address .checkout-heading a').remove();
    							$('#shipping-address .checkout-heading a').remove();
    							$('#shipping-method .checkout-heading a').remove();
    							$('#payment-method .checkout-heading a').remove();
    							
    							$('#payment-address .checkout-heading').append('<a><?php echo $text_modify; ?></a>');	
    						},
    						error: function(xhr, ajaxOptions, thrownError) {
    							alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText);
    						}
    					});
    				}
    				<?php } else { ?>				
    				$.ajax({
    					url: 'index.php?route=checkout/payment_method',
    					dataType: 'html',
    					success: function(html) {
    						$('#payment-method .checkout-content').html(html);
    						
    						$('#payment-address .checkout-content').slideUp('slow');
    							
    						$('#payment-method .checkout-content').slideDown('slow');
    							
    						$('#payment-address .checkout-heading a').remove();
    						$('#payment-method .checkout-heading a').remove();
    														
    						$('#payment-address .checkout-heading').append('<a><?php echo $text_modify; ?></a>');
    					},
    					error: function(xhr, ajaxOptions, thrownError) {
    						alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText);
    					}
    				});				
    				<?php } ?>
    			}	 
    		},
    		error: function(xhr, ajaxOptions, thrownError) {
    			alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText);
    		}
    	});	
    });
    
    // Guest Shipping
    $('#button-guest-shipping').live('click', function() {
    	$.ajax({
    		url: 'index.php?route=checkout/guest_shipping/validate',
    		type: 'post',
    		data: $('#shipping-address input[type=\'text\'], #shipping-address select'),
    		dataType: 'json',
    		beforeSend: function() {
    			$('#button-guest-shipping').attr('disabled', true);
    			$('#button-guest-shipping').after('<span class="wait">&nbsp;<img src="catalog/view/theme/default/image/loading.gif" alt="" /></span>');
    		},	
    		complete: function() {
    			$('#button-guest-shipping').attr('disabled', false); 
    			$('.wait').remove();
    		},			
    		success: function(json) {
    			$('.error').remove();
    			
    			if (json['redirect']) {
    				location = json['redirect'];
    			}
    			
    			if (json['error']) {
    				if (json['error']['firstname']) {
    					$('#shipping-address input[name=\'firstname\']').after('<span class="error">' + json['error']['firstname'] + '</span>');
    				}
    				
    				if (json['error']['lastname']) {
    					$('#shipping-address input[name=\'lastname\']').after('<span class="error">' + json['error']['lastname'] + '</span>');
    				}	
    										
    				if (json['error']['address_1']) {
    					$('#shipping-address input[name=\'address_1\']').after('<span class="error">' + json['error']['address_1'] + '</span>');
    				}	
    				
    				if (json['error']['city']) {
    					$('#shipping-address input[name=\'city\']').after('<span class="error">' + json['error']['city'] + '</span>');
    				}	
    				
    				if (json['error']['postcode']) {
    					$('#shipping-address input[name=\'postcode\']').after('<span class="error">' + json['error']['postcode'] + '</span>');
    				}	
    				
    				if (json['error']['country']) {
    					$('#shipping-address select[name=\'country_id\']').after('<span class="error">' + json['error']['country'] + '</span>');
    				}	
    				
    				if (json['error']['zone']) {
    					$('#shipping-address select[name=\'zone_id\']').after('<span class="error">' + json['error']['zone'] + '</span>');
    				}
    			} else {
    				$.ajax({
    					url: 'index.php?route=checkout/shipping_method',
    					dataType: 'html',
    					success: function(html) {
    						$('#shipping-method .checkout-content').html(html);
    						
    						$('#shipping-address .checkout-content').slideUp('slow');
    						
    						$('#shipping-method .checkout-content').slideDown('slow');
    						
    						$('#shipping-address .checkout-heading a').remove();
    						$('#shipping-method .checkout-heading a').remove();
    						$('#payment-method .checkout-heading a').remove();
    							
    						$('#shipping-address .checkout-heading').append('<a><?php echo $text_modify; ?></a>');
    					},
    					error: function(xhr, ajaxOptions, thrownError) {
    						alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText);
    					}
    				});				
    			}	 
    		},
    		error: function(xhr, ajaxOptions, thrownError) {
    			alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText);
    		}
    	});	
    });
    
    $('#button-shipping-method').live('click', function() {
    	$.ajax({
    		url: 'index.php?route=checkout/shipping_method/validate',
    		type: 'post',
    		data: $('#shipping-method input[type=\'radio\']:checked, #shipping-method textarea'),
    		dataType: 'json',
    		beforeSend: function() {
    			$('#button-shipping-method').attr('disabled', true);
    			$('#button-shipping-method').after('<span class="wait">&nbsp;<img src="catalog/view/theme/default/image/loading.gif" alt="" /></span>');
    		},	
    		complete: function() {
    			$('#button-shipping-method').attr('disabled', false);
    			$('.wait').remove();
    		},			
    		success: function(json) {
    			$('.warning').remove();
    			
    			if (json['redirect']) {
    				location = json['redirect'];
    			}
    			
    			if (json['error']) {
    				if (json['error']['warning']) {
    					$('#shipping-method .checkout-content').prepend('<div class="warning" style="display: none;">' + json['error']['warning'] + '</div>');
    					
    					$('.warning').fadeIn('slow');
    				}			
    			} else {
    				$.ajax({
    					url: 'index.php?route=checkout/payment_method',
    					dataType: 'html',
    					success: function(html) {
    						$('#payment-method .checkout-content').html(html);
    						
    						$('#shipping-method .checkout-content').slideUp('slow');
    						
    						$('#payment-method .checkout-content').slideDown('slow');
    
    						$('#shipping-method .checkout-heading a').remove();
    						$('#payment-method .checkout-heading a').remove();
    						
    						$('#shipping-method .checkout-heading').append('<a><?php echo $text_modify; ?></a>');	
    
    					},
    					error: function(xhr, ajaxOptions, thrownError) {
    						alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText);
    					}
    				});					
    			}
    		},
    		error: function(xhr, ajaxOptions, thrownError) {
    			alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText);
    		}
    	});	
    });
    
    $('#button-payment-method').live('click', function() {
    	$.ajax({
    		url: 'index.php?route=checkout/payment_method/validate', 
    		type: 'post',
    		data: $('#payment-method input[type=\'radio\']:checked, #payment-method input[type=\'checkbox\']:checked, #payment-method textarea'),
    		dataType: 'json',
    		beforeSend: function() {
    			$('#button-payment-method').attr('disabled', true);
    			$('#button-payment-method').after('<span class="wait">&nbsp;<img src="catalog/view/theme/default/image/loading.gif" alt="" /></span>');
    		},	
    		complete: function() {
    			$('#button-payment-method').attr('disabled', false);
    			$('.wait').remove();
    		},			
    		success: function(json) {
    			$('.warning').remove();
    			
    			if (json['redirect']) {
    				location = json['redirect'];
    			}
    			
    			if (json['error']) {
    				if (json['error']['warning']) {
    					$('#payment-method .checkout-content').prepend('<div class="warning" style="display: none;">' + json['error']['warning'] + '</div>');
    					
    					$('.warning').fadeIn('slow');
    				}			
    			} else {
    				$.ajax({
    					url: 'index.php?route=checkout/confirm',
    					dataType: 'html',
    					success: function(html) {
    						$('#confirm .checkout-content').html(html);
    						
    						$('#payment-method .checkout-content').slideUp('slow');
    						
    						$('#confirm .checkout-content').slideDown('slow');
    						
    						$('#payment-method .checkout-heading a').remove();
    						
    						$('#payment-method .checkout-heading').append('<a><?php echo $text_modify; ?></a>');	
    					},
    					error: function(xhr, ajaxOptions, thrownError) {
    						alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText);
    					}
    				});					
    			}
    		},
    		error: function(xhr, ajaxOptions, thrownError) {
    			alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText);
    		}
    	});	
    });
    //--></script> 
    <?php echo $footer; ?>
     
  5. PoshTiger United Kingdom

    PoshTiger Retired Member

    Joined:
    Jun 2011
    Posts:
    1,502
    Likes Received:
    74
    try this...

    posh....

    <!-- Agree -->

    var Checkbox = document.getElementById("agree");
    if (!checkbox.checked){
    // Checkbox not checked, do stuff here.
    }

    else {
    // Checkbox is checked, do stuff here.
    <!-- Payment -->
    <div class="content" id="payment_div"<?php echo $payment; ?></div>
    <!-- Payment -->
    }

    <!-- Agree -->
     
  6. bensd United Kingdom

    bensd Well-Known Member

    Joined:
    Jan 2007
    Posts:
    5,103
    Likes Received:
    79
    Thanks for your help but that hasn't worked.

    The original checkout page called an error if the box wasn't ticked. I was hoping it would be as simple as pulling the code from the original page and putting it into the new one.
     
Thread Status:
Not open for further replies.