locked
Syntax error RRS feed

  • Question

  • Trying to calculate a field value with an onchange event and I am getting a syntax error.  Here is the code:

    function IssueNumber_onchange()
    {
    //Update Order Total on Issue Number Change
    var IN = Xrm.Page.getAttribute(synact_issuenumberid).getValue();
    var MR = Xrm.Page.getAttribute(totalamount).getValue();
    var OT = Xrm.Page.getAttribute(synact_ordertotal).getValue();
    if(IN != null)
    {
       Xrm.Page.getAttribute(synact_ordertotal).setValue((MR.getValue())*6);
    }
    }

     

    If I set the value to 10 [Xrm.Page.getAttribute(synact_ordertotal).setValue(10);] it works fine, but I need to do calculation.  Also tried .setValue(MR*6); which didn't work. Any help is appreciated!


    Ken Compter
    Friday, September 30, 2011 4:39 PM

Answers

  • Are the attributeids defined as string variable?? If those are the names of the attributes then you have to define them as string:

     

    function IssueNumber_onchange()
    {
       //Update Order Total on Issue Number Change
    var IN = Xrm.Page.getAttribute("synact_issuenumberid").getValue();
    var MR = Xrm.Page.getAttribute("totalamount").getValue();
    var OT = Xrm.Page.getAttribute("synact_ordertotal").getValue();
    if(IN != null)
    {
       Xrm.Page.getAttribute("synact_ordertotal").setValue(MR *6);
    }
    }
    


     


    • Edited by frankhernandez Friday, September 30, 2011 6:18 PM
    • Proposed as answer by frankhernandez Friday, September 30, 2011 6:25 PM
    • Marked as answer by kcompter Friday, September 30, 2011 8:45 PM
    Friday, September 30, 2011 6:16 PM

All replies

  • Are the attributeids defined as string variable?? If those are the names of the attributes then you have to define them as string:

     

    function IssueNumber_onchange()
    {
       //Update Order Total on Issue Number Change
    var IN = Xrm.Page.getAttribute("synact_issuenumberid").getValue();
    var MR = Xrm.Page.getAttribute("totalamount").getValue();
    var OT = Xrm.Page.getAttribute("synact_ordertotal").getValue();
    if(IN != null)
    {
       Xrm.Page.getAttribute("synact_ordertotal").setValue(MR *6);
    }
    }
    


     


    • Edited by frankhernandez Friday, September 30, 2011 6:18 PM
    • Proposed as answer by frankhernandez Friday, September 30, 2011 6:25 PM
    • Marked as answer by kcompter Friday, September 30, 2011 8:45 PM
    Friday, September 30, 2011 6:16 PM
  • still get a syntax error:

    <ScriptErrorDetails>
       <Message>Syntax error</Message>
       <Line>9</Line>
       <URL>/%7B634530040190000000%7D/WebResources/SalesOrder_main_library.js?ver=-1373856293</URL>
       <PageURL>/Tools/FormEditor/preview.aspx?appSolutionId=%7bFD140AAF-4DF4-11DD-BD17-0019B9312238%7d</PageURL>
       <Function></Function>
       <CallStack>
       </CallStack>
      </ScriptErrorDetails>


    Ken Compter
    Friday, September 30, 2011 6:30 PM
  • Try this:

    function IssueNumber_onchange()
    {
       //Update Order Total on Issue Number Change
    var IN = Xrm.Page.getAttribute("synact_issuenumberid").getValue();
    var MR = Xrm.Page.getAttribute("totalamount").getValue();
    var OT = Xrm.Page.getAttribute("synact_ordertotal").getValue();
    if(IN != null)
    {
      var result = MR * 6;
     Xrm.Page.getAttribute("synact_ordertotal").setValue(result);
    }
    }
    


    If that does not work, I will use some alerts in the code to check were I'm getting the error. Something like this:

    function IssueNumber_onchange()
    {
       //Update Order Total on Issue Number Change
    var IN = Xrm.Page.getAttribute("synact_issuenumberid").getValue();
    var MR = Xrm.Page.getAttribute("totalamount").getValue();
    alert ("MR Value: " +  MR.toString());
    var OT = Xrm.Page.getAttribute("synact_ordertotal").getValue();
    if(IN != null)
    {
      var result = MR * 6;
     alert(alert ("result: " + result.toString());
     Xrm.Page.getAttribute("synact_ordertotal").setValue(result);
    }
    }
    

    Check if you get the alerts and the correct values.

    Friday, September 30, 2011 6:49 PM
  • Finally got this working (what you originally proposed) Don't know why I got the earlier error:

    function issuenumber_onchange()
    {

    var IN = Xrm.Page.getAttribute("synact_issuenumberid").getValue();
    var MR = Xrm.Page.getAttribute("totalamount").getValue();
    var OT = Xrm.Page.getAttribute("synact_ordertotal").getValue();
    var DA = Xrm.Page.getAttribute("discountamount").getValue();

    if(IN != null)
    {
          Xrm.Page.getAttribute("synact_ordertotal").setValue(MR*6);
    }
    }

    Thanks for the assistance!

     


    Ken Compter
    Friday, September 30, 2011 8:45 PM