Skip to main content
Known Participant
November 16, 2022
Answered

Syntax Error

  • November 16, 2022
  • 2 replies
  • 2031 views

I keep getting a Syntax Error: missing ; before statement 23: at line 24.  I have used this code in another form field. The statements are the same. I just modified the calculations. I don't understand why it isn't working here.

 

// Acquire inputs

// Diesel and Def totals

var nD1 = Number(this.getField("Expenses.Fuel.Diesel.Total").valueAsString);

var nD2 = Number(this.getField("Expenses.Fuel.Def.Total").valueAsString);

// Fuel Trip Numbers

var t1 = Number(this.getField("Expenses.Fuel.TripNumber.Row1").valueAsString);

var t2 = Number(this.getField("Expenses.Fuel.TripNumber.Row2").valueAsString);

var t3 = Number(this.getField("Expenses.Fuel.TripNumber.Row3").valueAsString);

var t4 = Number(this.getField("Expenses.Fuel.TripNumber.Row4").valueAsString);

var t5 = Number(this.getField("Expenses.Fuel.TripNumber.Row5").valueAsString);

var t6 = Number(this.getField("Expenses.Fuel.TripNumber.Row6").valueAsString);

// Calculations

 if (t6 > 1) {

        var nResult = ((nD1 + nD2) + (6 * 0.75));

    } else if (t5 > 1) {

        var nResult = ((nD1 + nD2) + (5 * 0.75));

    } else if (t4 > 1) {

        var nResult = ((nD1 + nD2) + (4 * 0.75));

    } else if (t3 > 1) {

        var nResult = ((nD1 + nD2) + (3 * 0.75));

    } else if (t2 > 1) {

        var nResult = ((nD1 + nD2) + (2 * 0.75));

    } else (t1 > 1) {

        var nResult = ((nD1 + nD2) + 0.75));

    }

event.value = nResult;

This topic has been closed for replies.
Correct answer Bernd Alheit

Try this:

// Acquire inputs
// Diesel and Def totals
var nResult = 0;
var nD1 = Number(this.getField("Expenses.Fuel.Diesel.Total").valueAsString);
var nD2 = Number(this.getField("Expenses.Fuel.Def.Total").valueAsString);
// Fuel Trip Numbers
var t1 = Number(this.getField("Expenses.Fuel.TripNumber.Row1").valueAsString);
var t2 = Number(this.getField("Expenses.Fuel.TripNumber.Row2").valueAsString);
var t3 = Number(this.getField("Expenses.Fuel.TripNumber.Row3").valueAsString);
var t4 = Number(this.getField("Expenses.Fuel.TripNumber.Row4").valueAsString);

var t5 = Number(this.getField("Expenses.Fuel.TripNumber.Row5").valueAsString);
var t6 = Number(this.getField("Expenses.Fuel.TripNumber.Row6").valueAsString);

// Calculations
 if (t6 > 1) {
        nResult = nD1 + nD2 + 6 * 0.75;
    } else if (t5 > 1) {
        nResult = nD1 + nD2 + 5 * 0.75;
    } else if (t4 > 1) {
        nResult = nD1 + nD2 + 4 * 0.75;
    } else if (t3 > 1) {
        nResult = nD1 + nD2 + 3 * 0.75;
    } else if (t2 > 1) {
        nResult = nD1 + nD2 + 2 * 0.75;
    } else if (t1 > 1) {
        nResult = nD1 + nD2 + 0.75;
    }
event.value = nResult;

2 replies

Bernd Alheit
Community Expert
Bernd AlheitCommunity ExpertCorrect answer
Community Expert
November 16, 2022

Try this:

// Acquire inputs
// Diesel and Def totals
var nResult = 0;
var nD1 = Number(this.getField("Expenses.Fuel.Diesel.Total").valueAsString);
var nD2 = Number(this.getField("Expenses.Fuel.Def.Total").valueAsString);
// Fuel Trip Numbers
var t1 = Number(this.getField("Expenses.Fuel.TripNumber.Row1").valueAsString);
var t2 = Number(this.getField("Expenses.Fuel.TripNumber.Row2").valueAsString);
var t3 = Number(this.getField("Expenses.Fuel.TripNumber.Row3").valueAsString);
var t4 = Number(this.getField("Expenses.Fuel.TripNumber.Row4").valueAsString);

var t5 = Number(this.getField("Expenses.Fuel.TripNumber.Row5").valueAsString);
var t6 = Number(this.getField("Expenses.Fuel.TripNumber.Row6").valueAsString);

// Calculations
 if (t6 > 1) {
        nResult = nD1 + nD2 + 6 * 0.75;
    } else if (t5 > 1) {
        nResult = nD1 + nD2 + 5 * 0.75;
    } else if (t4 > 1) {
        nResult = nD1 + nD2 + 4 * 0.75;
    } else if (t3 > 1) {
        nResult = nD1 + nD2 + 3 * 0.75;
    } else if (t2 > 1) {
        nResult = nD1 + nD2 + 2 * 0.75;
    } else if (t1 > 1) {
        nResult = nD1 + nD2 + 0.75;
    }
event.value = nResult;

Known Participant
November 16, 2022

Thanks. It took the code, but I wasn't getting any output. Had to change my equations and add each individual variable instead of using the totals. Don't understand why the first way didn't work, but the second did. Same information in both.

ls_rbls
Community Expert
Community Expert
November 16, 2022

In this line:

 

        var nResult = ((nD1 + nD2) + 0.75));

 

You have an unnecessary parenthesis. Change that line to:

 

        var nResult = ((nD1 + nD2) + 0.75);

Known Participant
November 16, 2022

I overlooked that, thanks. It still coming up with the same error regardless.