• 0
GingerDan

Auto calculating and submitting a form

Question

So I'm trying to get the value that is already in the current points field, do a calculation as depicted in the switch statement and then fill the field in again with the new number before submitting instantly.   This is all supposed to be done as a way of replacing an SQL update statement. For some reason my EditRecord or document.getElementById doesn't seem to be working at all.

 

<script LANGUAGE="Javascript">
function calculate(){
  var pos = [@pos];
  var points = [@field:CurrentPoints#];
   switch(pos)
   {
       case 1: points += 10; break;
       case 2: points += 8; break;
       case 3: points += 6; break;
       case 4: points += 4; break;
       case -2: points += -2; break;
       default: points += 2; 
   }
  document.getElementById("EditRecordCurrentPoints").innerHTML = points;
}
   document.getElementById("mypage").onsubmit=calculate();

</script>

 

There is already a <div id="mypage"> in the header and a </div> in the footer.

Am I just being very stupid?

Share this post


Link to post
Share on other sites

1 answer to this question

  • 0
On 10/8/2017 at 5:28 AM, GingerDan said:

So I'm trying to get the value that is already in the current points field, do a calculation as depicted in the switch statement and then fill the field in again with the new number before submitting instantly.   This is all supposed to be done as a way of replacing an SQL update statement. For some reason my EditRecord or document.getElementById doesn't seem to be working at all.

 

<script LANGUAGE="Javascript">
function calculate(){
  var pos = [@pos];
  var points = [@field:CurrentPoints#];
   switch(pos)
   {
       case 1: points += 10; break;
       case 2: points += 8; break;
       case 3: points += 6; break;
       case 4: points += 4; break;
       case -2: points += -2; break;
       default: points += 2; 
   }
  document.getElementById("EditRecordCurrentPoints").innerHTML = points;
}
   document.getElementById("mypage").onsubmit=calculate();

</script>

 

There is already a <div id="mypage"> in the header and a </div> in the footer.

Am I just being very stupid?

I suppose that you use update form. You  should use a little bit different syntax, have a look at this post

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now