Solved

Simple form calculation within repeated region

Posted on 2007-11-29
5
685 Views
Last Modified: 2008-02-20
Hi, I need to perform a simple multiplication calculation within a form that has repeated rows within it.

I have a basic Javascript script that will multiply, by a fixed value, the value a user enters into a textbox and displays it within a readonly textbox beside it. See code below.

I need to be able to use this script (or something similar) in a repeated table within PHP.
<html>

<head>

<script language="javascript" src="remote.js"></script>

<script type="text/javascript">

    function calc(num)

    {

          var multiplier = 2; //your number here

          var result = 0;

          if(isFinite(num))

          {

                result = num * multiplier;

          }

          result = result.toFixed(0);

          document.myform.result.value = result;

    }

</script>

</head>

<body>

<form name="myform">

<input type="text" name="txt1" id="txt1" onkeyup="calc(this.value);"/>

<input type="text" name="result" id="result" readonly="readonly"/>

</form>

</body>

</html>

Open in new window

0
Comment
Question by:MariusGM
  • 2
5 Comments
 
LVL 24

Accepted Solution

by:
glcummins earned 250 total points
ID: 20375117
Add another parameter to your function that identifies the output field (code below). Then give each of your ouput fields an id, and supply them when you call the function.


function calc(num, fieldID)

{

      var multiplier = 2; //your number here

      var result = 0;

      if(isFinite(num))

      {

            result = num * multiplier;

      }

      result = result.toFixed(0);

      document.getElementById(fieldId).value = result;

}

Open in new window

0
 
LVL 75

Assisted Solution

by:Michel Plungjan
Michel Plungjan earned 250 total points
ID: 20375128
try this:


<html>

<head>

<script language="javascript" src="remote.js"></script>

<script type="text/javascript">

function calc(theField) {

  var num = theField.value;

  var theForm =theField.form;

  var res = theField.name.replace('txt','res');

  var multiplier = 2; //your number here

  var result = 0;

  if(isFinite(num)) {

    result = num * multiplier;

  }

  result = result.toFixed(0);

  theForm.elements[res].value = result;

}

</script>

</head>

<body>

<form name="myform">

<input type="text" name="txt1" id="txt1" onkeyup="calc(this);">

<input type="text" name="res1" id="res1" readonly="readonly"/>

<input type="text" name="txt2" id="txt2" onkeyup="calc(this);">

<input type="text" name="res2" id="res2" readonly="readonly"/>

</form>

</body>

</html>

Open in new window

0
 
LVL 75

Expert Comment

by:Michel Plungjan
ID: 20375149
PS:

 var result = 0;
  if(isFinite(num)) {
    result = num * multiplier;
  }
  result = result.toFixed(0);
  theForm.elements[res].value = result;

can be shortened to

  theForm.elements[res].value = (isFinite(num))? (num * multiplier).toFixed(0):0;
0
 
LVL 1

Expert Comment

by:Computer101
ID: 20943733
Forced accept.

Computer101
Community Support Moderator
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

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

Real-time is more about the business, not the technology. In day-to-day life, to make real-time decisions like buying or investing, business needs the latest information(e.g. Gold Rate/Stock Rate). Unlike traditional days, you need not wait for a fe…
Boost your ability to deliver ambitious and competitive web apps by choosing the right JavaScript framework to best suit your project’s needs.
The viewer will learn how to create a basic form using some HTML5 and PHP for later processing. Set up your basic HTML file. Open your form tag and set the method and action attributes.: (CODE) Set up your first few inputs one for the name and …
Learn how to set-up PayPal payment integration in your Wufoo form. Allow your users to remit payment through PayPal upon completion of your online form. This is helpful for collecting membership payments, customer payments, donations, and more.

864 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

Need Help in Real-Time?

Connect with top rated Experts

24 Experts available now in Live!

Get 1:1 Help Now