Skip welcome & menu and move to editor
Welcome to JS Bin
Load cached copy from
 
  
<HTML>
<HEAD>
    <TITLE>Shopping Cart</TITLE>
    <META http-equiv=Content-Type content="text/html; charset=UTF-8">
  <STYLE type=text/CSS>
        fieldset    {width:400px}
        legend      {font-size:24px;font-family:comic sans ms;color:#004455}
    </STYLE>   
</HEAD>
  <form action="#" method="post" id="cartForm">
    <fieldset style="width:450px"><legend>Pick Some Music</legend>
<BODY scroll="auto"> 
    <div id="products"></div><hr>
  <input type="button" value="Add to cart" onclick="cart()" />
    <div id="inCart"></div>
  <input type="button" value="Remove from cart" onclick="removeCart()" />
  <br/>
  <br/>
  <div><label for="firstName">First Name</label><input type="text" name="firstName" id="firstName" required></div>
            <div><label for="lastName">Last Name</label><input type="text" name="lastName" id="lastName" required></div>
  <div><label for="address">Address</label><input type="text" name="address" id="address" required></div>
  <div><label for="city">City</label><input type="text" name="city" id="city" required></div>
            <div><label for="state">State</label><select name="state" id="state">
                <option value="AZ">AZ</option>
                <option value="CO">CO</option>
                <option value="CA">CA</option>
                <option value="DE">DE</option>
                <option value="FL">FL</option>
                <option value="GA">GA</option>
                <option value="HI">HI</option>
                <option value="LA">LA</option>
                <option value="MO">MO</option>
                <option value="NM">NM</option>
                <option value="VA">VA</option>
                <option value="WV">WV</option>
            </select></div>
  <div><label for="zip">Zip Code</label><input type="text" name="zip" id="zip" required></div>
            <input type="submit" value="Submit" id="submit">
  <div id="output"></div>
<body>
  
    </fieldset>
        <div id="outputC"></div>
    </form>
    <script src="js/store.js"></script>
</body>
</html>
 
  
  var items =
    [
      {'id':1, 'artist':'<h2>Pink Floyd</h2>', 'image':'<img src="images/darkside.jpg" align= right onmouseover="zoomOut(this)">','desc':'The greatest band of all time!', 'title':'Dark Side of the Moon','price':20.00, 'qty':0},
      {'id':2, 'artist':'<h2>Jimi Hendrix</h2>', 'image':'<img src="images/jimi.jpg" align= right>','desc':'Left-Handed Guitar Genius', 'title':'Electric LadyLand',  'price':15.98, 'qty':0},
      {'id':3, 'artist':'<h2>Beastie Boys</h2>', 'image':'<img src="images/pauls.jpg" align= right>','desc':'Universally cool', 'title':'Pauls Boutique', 'price':14.00, 'image_src': '', 'qty':0}
    ];
var butnOrder = document.getElementById("butnOrder");
var M = '$';
var stuff = '';
var order = [];
var total = 0;
var TAX = 0;
var taxTotal = 0;
for(j=0;j<items.length;j++) {
    stuff+=''+albumList(j)+'';
}
document.getElementById('products').innerHTML=stuff;
function albumList(j) {
    var getStuff='';
//put items[] into the form, iterate,return
   getStuff+='<form name="cartForm'+j+'">';
    getStuff+='<fieldset><legend>'+items[j].artist+'</legend>';
    getStuff+='<p>'+items[j].image+'</p>';
    getStuff+='<p>Album: '+''+items[j].title+'</p>';
    getStuff+='<p>Description: '+items[j].desc+'</p>';
    getStuff+='<p>Price: '+M+''+items[j].price+'</p>';
    getStuff+='<b>Qty</b>';
    getStuff+='<select id="qty '+j+'">';
    
    for(i=0;i<6;i++) {
    getStuff+='<option value="'+i+'">'+i+'</option>';
    }
    getStuff+='</select>';
    getStuff+='</fieldset>';
    getStuff+='</form>';
    return getStuff;
}
function cart() {
    var select = document.getElementsByTagName('select');
    k=0;
  //loop
    for (i=0; i < select.length; i++) {
        if (select[i].id.substring(0, 4) == 'qty ' && select[i].value > 0) {
            console.log(i, select[i].value);
          order[k]=''+items[i].artist+': '+select[i].value+' * '+M+ items[i].price+'';
          //calculate the total
            total += select[i].value*items[i].price;
            k++;
            taxTotal += total+(total*0.07);
        }
    }
  document.getElementById('inCart').innerHTML=order.join('<br>')+'<br>'+'<b>SubTotal:   </b>'+ M +total+'<br>'+ 'Tax: $0.07 '+'<h3>Total:  '+M+taxTotal+'</h3>';
}
 function removeCart(){
    
 }
 
 function process() {
    'use strict';
    // Get form references:
    var firstName = document.getElementById('firstName').value;
    var lastName = document.getElementById('lastName').value;
   var address = document.getElementById('address').value;
   var city = document.getElementById('city').value;
    var state = document.getElementById('state').value;
   var zip = document.getElementById('zip').value;
    // Reference to where the output goes:
    var outputC = document.getElementById('outputC');
    // Create a new object:
    var orderInfo = {
        firstName: firstName,
        lastName: lastName,
        address: address,
        city: city,
        state: state,
        zip: zip,
        getName: function() {
            return this.lastName + ', ' + this.firstName;
        },
        purchaseDate: new Date()
    }; 
   butnOrder.addEventListener("click", process, false);
    
    // Create the ouptut as HTML:
    var message = '<h2>Order Comfirmation</h2>Name: ' + orderInfo.getName() + '<br>';
    message += '<b>Mailing Info : </b>'+'<br>'+ orderInfo.address +'<br>'+ orderInfo.city +'<br>'+ orderInfo.state +'<br>'+ orderInfo.zip +'<br>'+'<br>';
    message += '<b>Purchase Date: </b>' + orderInfo.purchaseDate.toDateString();
    
    // Display the orderInfo object:
    outputC.innerHTML = message;
        
    // Return false:
    return false;
} 
// Initial setup:
function init() {
    'use strict';
    document.getElementById('cartForm').onsubmit = process;
 } // End of init() function.
window.onload = init;
window.onload = function() {
   'use strict';
    U.$('cartForm').onsubmit = albumList;
};
 window.onload = cart;
Output 300px

You can jump to the latest bin by adding /latest to your URL

Dismiss x
public
Bin info
katerpie@gmail.compro
0viewers