Solved

Simple form calculation within repeated region

Posted on 2007-11-29
5
689 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 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

Secure Your WordPress Site: 5 Essential Approaches

WordPress is the web's most popular CMS, but its dominance also makes it a target for attackers. Our eBook will show you how to:

Prevent costly exploits of core and plugin vulnerabilities
Repel automated attacks
Lock down your dashboard, secure your code, and protect your users

Question has a verified solution.

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

Build an array called $myWeek which will hold the array elements Today, Yesterday and then builds up the rest of the week by the name of the day going back 1 week.   (CODE) (CODE) Then you just need to pass your date to the function. If i…
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 …
The viewer will learn how to look for a specific file type in a local or remote server directory using PHP.
The viewer will learn how to create and use a small PHP class to apply a watermark to an image. This video shows the viewer the setup for the PHP watermark as well as important coding language. Continue to Part 2 to learn the core code used in creat…

729 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