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

Thread: Javascript Validation Issues

  1. #1
    Join Date
    Jun 2012
    Posts
    2

    Javascript Validation Issues

    Hey guys,

    I was asked to go through our product pages and fix validation issues I could find using the w3c validator for an e-commerce company I work at. I have validated almost everything but have been having issues with some javascript. I am more of a back-end developer so javascript is not my forte. Anyways here is the original code that was causing issues:
    ----------------------------------------------------------------------------
    <script type="text/javascript">

    var norm = {price};
    var special = "{special_price}";
    var list = {list_price};
    var end = "{special_to_date}";
    var endComp = parse_date(end).getTime();
    var start = "{special_from_date}";
    var startComp = parse_date(start).getTime();
    var now = new Date().getTime();


    var specialTrue = '<div class="special-price"><span class="price-label">Our Price: </span><span class="price" id="product-price">{special_price_formatted}</span></div>';

    var specialFalse = '<div class="our-price"><span class="price-label">Our Price: </span><span class="price">{price_formatted}</span></div>';

    var specialFalseAlt = '<div class="our-price alt"><span class="price-label">Our Price: </span><span class="price">{price_formatted}</span></div>';

    if (isNaN(special) === false && endComp > now && startComp < now) {
    document.write(specialTrue)
    }else {

    if (list <= norm){
    document.write(specialFalseAlt)

    }else {
    document.write(specialFalse)
    }
    };
    </script>

    ------------------------------------------------------------------------------

    So the validator doesn't like all these divs in the javascript variables. So I changed it to this:

    ------------------------------------------------------------------------------

    <script type="text/javascript">
    var norm = {price};
    var special = "{special_price}";
    var list = {list_price};
    var end = "{special_to_date}";
    var endComp = parse_date(end).getTime();
    var start = "{special_from_date}";
    var startComp = parse_date(start).getTime();
    var now = new Date().getTime();
    var specialFormat = "{special_price_formatted}";
    var priceFormat = "{price_formatted}";
    var label = "Our Price";

    if (isNaN(special) === false && endComp > now && startComp < now) {
    document.getElementById('product-price').innerHTML += specialFormat;
    document.getElementById('product-price-label').innerHTML += label;
    }else {
    if (list <= norm){
    document.getElementById('our-price-alt').innerHTML += priceFormat;
    document.getElementById('our-price-alt-label').innerHTML += label;
    }else {
    document.getElementById('our-price').innerHTML += priceFormat;
    document.getElementById('our-price-label').innerHTML += label;
    }
    };
    </script>

    <div class="special-price"><span class="price-label" id='product-price-label'>&nbsp;</span><span class="price" id="product-price">&nbsp;</span></div>

    <div class="our-price"><span class="price-label" id='our-price-label'>&nbsp;</span><span class="price" id='our-price'>&nbsp;</span></div>

    <div class="our-price alt"><span class="price-label" id='our-price-alt-label'>&nbsp;</span><span class="price" id='our-price-alt'>&nbsp;</span></div>

    ----------------------------------------------------------------------------

    I have tried many different variations of this with no luck. Any advice on this is appreciated.

  2. #2
    Join Date
    Jun 2012
    Posts
    2
    For anyone who is curious the divs needed to be put before the javascript code.

Thread Information

Users Browsing this Thread

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

Tags for this Thread

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