Solved

Automatic Calculation Script

Posted on 2009-05-06
10
221 Views
Last Modified: 2012-05-06
I basically want a automatic calculation script. PHP preferably or javascript.

I want to set up a form that as the user select's the relevant information it changes the price automatically without needing to click a submit button. Very similar to the apple store: http://store.apple.com/us/configure/MC026LL/A?mco=NDE4NDI1Ng

Can someone please provide me with the code or point me to a suitable website where I can get the script.

Many Thanks
0
Comment
Question by:petewinter
  • 4
  • 3
  • 2
10 Comments
 
LVL 41

Accepted Solution

by:
HonorGod earned 450 total points
ID: 24315103
One way to do it is to have your input fields be grouped together using the same name attribute.   For example:

<input type='radio' name='CPU' onclick='priceCheck(this)'>


Then, in the function that gets called when the item is selected, it ca:
- determine the group name from the specified object
- determine the selected price, and
- Process all groups, e.g., by name, to compute the total price

Something like this perhaps?
<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01//EN' 'http://www.w3.org/TR/html4/strict.dtd'>
<html>
<head>
<title> Price </title>
<script type='text/javascript'>
  var names = 'CPU,mem'.split( ',' )
  function priceCheck( obj ) {
    var total = 0
    for ( var i = 0; i < names.length; i++ ) {
      var ele = document.getElementsByName( names[ i ] )
      for ( var j = 0; j < ele.length; j++ ) {
        var here = ele[ j ]
        if ( here.checked ) {
          alert( here.value )
          total += parseInt( here.value )
          break
        }
      }
    }
    document.getElementById( 'total' ).value = '$' + total.toFixed( 2 )
  }
</script>
</head>
<body>
<form>
  <input type='radio' name='CPU' onclick='priceCheck(this)' value='100'>8088   $100<br>
  <input type='radio' name='CPU' onclick='priceCheck(this)' value='200'>80186  $200<br>
  <hr>
  <input type='radio' name='mem' onclick='priceCheck(this)' value='300'>16KB   $300<br>
  <input type='radio' name='mem' onclick='priceCheck(this)' value='500'>64KB   $500<br>
  <hr>
 
  Total: <input type='text' id='total' size='5' readonly>
</form>
</body>
</html>

Open in new window

0
 

Author Comment

by:petewinter
ID: 24315195
Thanks. How do I remove the pop up alert message? http://www.petewinter.com/test_auto.php
0
 
LVL 17

Assisted Solution

by:Chris Harte
Chris Harte earned 50 total points
ID: 24315327
remove the alert (on line 14)
0
ScreenConnect 6.0 Free Trial

Discover new time-saving features in one game-changing release, ScreenConnect 6.0, based on partner feedback. New features include a redesigned UI, app configurations and chat acknowledgement to improve customer engagement!

 
LVL 41

Expert Comment

by:HonorGod
ID: 24315623
I'm sorry, was there a reason you chose not to give me any credit?
0
 

Author Comment

by:petewinter
ID: 24315889
Sorry HonorGod. I thought you you posted the second question too. I didn't notice it was by someone else. How do I change it?
0
 
LVL 41

Expert Comment

by:HonorGod
ID: 24315937
Open a question in the "General Community Support" section requesting that the question be re-opened so that the point allocation can be corrected.

Include the (short) URL to this question:

http://www.experts-exchange.com/Q_24384938.html

Thanks
0
 
LVL 17

Expert Comment

by:Chris Harte
ID: 24315980
That will teach me to jump in! Contact the moderator I think he can reassign the points.
0
 

Author Closing Comment

by:petewinter
ID: 31578463
Sorry for the mistake and thanks for your help!
0
 
LVL 41

Expert Comment

by:HonorGod
ID: 24325950
Thanks for the grade & points, and the effort required to fix the point allocation.

Good luck & have a great day
0

Featured Post

Enterprise Mobility and BYOD For Dummies

Like “For Dummies” books, you can read this in whatever order you choose and learn about mobility and BYOD; and how to put a competitive mobile infrastructure in place. Developed for SMBs and large enterprises alike, you will find helpful use cases, planning, and implementation.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

JavaScript can be used in a browser to change parts of a webpage dynamically. It begins with the following pattern: If condition W is true, do thing X to target Y after event Z. Below are some tips and tricks to help you get started with JavaScript …
These days socially coordinated efforts have turned into a critical requirement for enterprises.
Explain concepts important to validation of email addresses with regular expressions. Applies to most languages/tools that uses regular expressions. Consider email address RFCs: Look at HTML5 form input element (with type=email) regex pattern: T…
The viewer will learn how to look for a specific file type in a local or remote server directory using PHP.

777 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question