• Resolved vijayasawant

    (@vijayasawant)


    Hello,

    I added 4 fields in pregnancy calculator.
    1. Drop down average length of months cycle. It has value from 22 to 44.
    2. Choice text 22 selected show field name5 (Most probable Conception Days), Field name 8 (Best intercourse Days), Field name 9 (Possible Conception Days) Field name 6 (Estimated due date)
    3. I added function in Most probable conception days as below:
    (function(){

    if(fieldname7 = 22) return cdate(fieldname1+6) , cdate(fieldname1+10);
    if(fieldname7 = 23) return cdate(fieldname1+7) , cdate(fieldname1+11);
    if(fieldname7 = 24) return cdate(fieldname1+8) , cdate(fieldname1+12);
    if(fieldname7 = 25) return cdate(fieldname1+9) , cdate(fieldname1+13);
    if(fieldname7 = 26) return cdate(fieldname1+10) , cdate(fieldname1+14);
    if(fieldname7 = 27) return cdate(fieldname1+11) , cdate(fieldname1+15);
    if(fieldname7 = 28) return cdate(fieldname1+12) , cdate(fieldname1+16);
    if(fieldname7 = 29) return cdate(fieldname1+13) , cdate(fieldname1+17);
    if(fieldname7 = 30) return cdate(fieldname1+14) , cdate(fieldname1+18);
    if(fieldname7 = 31) return cdate(fieldname1+15) , cdate(fieldname1+19);
    if(fieldname7 = 32) return cdate(fieldname1+16) , cdate(fieldname1+20);
    if(fieldname7 = 33) return cdate(fieldname1+17) , cdate(fieldname1+21);
    if(fieldname7 = 34) return cdate(fieldname1+18) , cdate(fieldname1+22);
    if(fieldname7 = 35) return cdate(fieldname1+19) , cdate(fieldname1+23);
    if(fieldname7 = 36) return cdate(fieldname1+20) , cdate(fieldname1+24);
    if(fieldname7 = 37) return cdate(fieldname1+21) , cdate(fieldname1+25);
    if(fieldname7 = 38) return cdate(fieldname1+22) , cdate(fieldname1+26);
    if(fieldname7 = 39) return cdate(fieldname1+23) , cdate(fieldname1+27);
    if(fieldname7 = 40) return cdate(fieldname1+24) , cdate(fieldname1+28);
    if(fieldname7 = 41) return cdate(fieldname1+25) , cdate(fieldname1+29);
    if(fieldname7 = 42) return cdate(fieldname1+26) , cdate(fieldname1+30);
    if(fieldname7 = 43) return cdate(fieldname1+27) , cdate(fieldname1+31);
    if(fieldname7 = 44) return cdate(fieldname1+28) , cdate(fieldname1+32);

    })();

    It does not produce result in Most probable conception days field.

    What am I missing here?

    Regards,

    Vijaya

    https://www.ads-software.com/plugins/calculated-fields-form/

Viewing 6 replies - 1 through 6 (of 6 total)
  • Plugin Author codepeople

    (@codepeople)

    Hi,

    First, in javascript the comparison operators are:

    ==, !=, <, >, <=, >=

    If you use only one “=” symbol, you are assigning the value. So, the correct would be:

    if(fieldname7 == 22)

    Tip: Correct all other conditional statements in the equation.

    The second issue is related with each line of code. I don’t know what you pretend with:

    if(fieldname7 == 22) return cdate(fieldname1+6) , cdate(fieldname1+10);

    The correct in this case is:

    if(fieldname7 == 22) return cdate(fieldname1+6);

    The “,” symbol, and the rest of code in the line, only provoke a javascript parser error.

    Tip: If you have in your page two calculated fields, associate a different equation to each of them to calculate its values.

    Best regards.

    Thread Starter vijayasawant

    (@vijayasawant)

    The tool is on my website https://www.oratechsolve.com/my-health-monitoring-tools/

    It looks like somehow drop down list is not picking up the equation.

    My equations are :
    Most Probable Conception Days

    (function(){

    if(fieldname7 == 22) return cdate(fieldname1+6) – cdate(fieldname1+10);
    if(fieldname7 == 23) return cdate(fieldname1+7) – cdate(fieldname1+11);
    if(fieldname7 == 24) return cdate(fieldname1+8) – cdate(fieldname1+12);
    if(fieldname7 == 25) return cdate(fieldname1+9) – cdate(fieldname1+13);
    if(fieldname7 == 26) return cdate(fieldname1+10) – cdate(fieldname1+14);
    if(fieldname7 == 27) return cdate(fieldname1+11) – cdate(fieldname1+15);
    if(fieldname7 == 28) return cdate(fieldname1+12) – cdate(fieldname1+16);
    if(fieldname7 == 29) return cdate(fieldname1+13) – cdate(fieldname1+17);
    if(fieldname7 == 30) return cdate(fieldname1+14) – cdate(fieldname1+18);
    if(fieldname7 == 31) return cdate(fieldname1+15) – cdate(fieldname1+19);
    if(fieldname7 == 32) return cdate(fieldname1+16) – cdate(fieldname1+20);
    if(fieldname7 == 33) return cdate(fieldname1+17) – cdate(fieldname1+21);
    if(fieldname7 == 34) return cdate(fieldname1+18) – cdate(fieldname1+22);
    if(fieldname7 == 35) return cdate(fieldname1+19) – cdate(fieldname1+23);
    if(fieldname7 == 36) return cdate(fieldname1+20) – cdate(fieldname1+24);
    if(fieldname7 == 37) return cdate(fieldname1+21) – cdate(fieldname1+25);
    if(fieldname7 == 38) return cdate(fieldname1+22) – cdate(fieldname1+26);
    if(fieldname7 == 39) return cdate(fieldname1+23) – cdate(fieldname1+27);
    if(fieldname7 == 40) return cdate(fieldname1+24) – cdate(fieldname1+28);
    if(fieldname7 == 41) return cdate(fieldname1+25) – cdate(fieldname1+29);
    if(fieldname7 == 42) return cdate(fieldname1+26) – cdate(fieldname1+30);
    if(fieldname7 == 43) return cdate(fieldname1+27) – cdate(fieldname1+31);
    if(fieldname7 == 44) return cdate(fieldname1+28) – cdate(fieldname1+32);

    })();

    Best Intercourse Days

    (function(){

    if(fieldname7 == 22) return cdate(fieldname1+4) – cdate(fieldname1+10);
    if(fieldname7 == 23) return cdate(fieldname1+5) – cdate(fieldname1+11);
    if(fieldname7 == 24) return cdate(fieldname1+6) – cdate(fieldname1+12);
    if(fieldname7 == 25) return cdate(fieldname1+7) – cdate(fieldname1+13);
    if(fieldname7 == 26) return cdate(fieldname1+8) – cdate(fieldname1+14);
    if(fieldname7 == 27) return cdate(fieldname1+9) – cdate(fieldname1+15);
    if(fieldname7 == 28) return cdate(fieldname1+10) – cdate(fieldname1+16);
    if(fieldname7 == 29) return cdate(fieldname1+11) – cdate(fieldname1+17);
    if(fieldname7 == 30) return cdate(fieldname1+12) – cdate(fieldname1+18);
    if(fieldname7 == 31) return cdate(fieldname1+13) – cdate(fieldname1+19);
    if(fieldname7 == 32) return cdate(fieldname1+14) – cdate(fieldname1+20);
    if(fieldname7 == 33) return cdate(fieldname1+15) – cdate(fieldname1+21);
    if(fieldname7 == 34) return cdate(fieldname1+16) – cdate(fieldname1+22);
    if(fieldname7 == 35) return cdate(fieldname1+17) – cdate(fieldname1+23);
    if(fieldname7 == 36) return cdate(fieldname1+18) – cdate(fieldname1+24);
    if(fieldname7 == 37) return cdate(fieldname1+19) – cdate(fieldname1+25);
    if(fieldname7 == 38) return cdate(fieldname1+20) – cdate(fieldname1+26);
    if(fieldname7 == 39) return cdate(fieldname1+21) – cdate(fieldname1+27);
    if(fieldname7 == 40) return cdate(fieldname1+22) – cdate(fieldname1+28);
    if(fieldname7 == 41) return cdate(fieldname1+23) – cdate(fieldname1+29);
    if(fieldname7 == 42) return cdate(fieldname1+24) – cdate(fieldname1+30);
    if(fieldname7 == 43) return cdate(fieldname1+25) – cdate(fieldname1+31);
    if(fieldname7 == 44) return cdate(fieldname1+26) – cdate(fieldname1+32);

    })();

    Possible Conception Days

    (function(){

    if(fieldname7 == 22) return cdate(fieldname1+4) – cdate(fieldname1+14);
    if(fieldname7 == 23) return cdate(fieldname1+5) – cdate(fieldname1+15);
    if(fieldname7 == 24) return cdate(fieldname1+6) – cdate(fieldname1+16);
    if(fieldname7 == 25) return cdate(fieldname1+7) – cdate(fieldname1+17);
    if(fieldname7 == 26) return cdate(fieldname1+8) – cdate(fieldname1+18);
    if(fieldname7 == 27) return cdate(fieldname1+9) – cdate(fieldname1+19);
    if(fieldname7 == 28) return cdate(fieldname1+10) – cdate(fieldname1+20);
    if(fieldname7 == 29) return cdate(fieldname1+11) – cdate(fieldname1+21);
    if(fieldname7 == 30) return cdate(fieldname1+12) – cdate(fieldname1+22);
    if(fieldname7 == 31) return cdate(fieldname1+13) – cdate(fieldname1+23);
    if(fieldname7 == 32) return cdate(fieldname1+14) – cdate(fieldname1+24);
    if(fieldname7 == 33) return cdate(fieldname1+15) – cdate(fieldname1+25);
    if(fieldname7 == 34) return cdate(fieldname1+16) – cdate(fieldname1+26);
    if(fieldname7 == 35) return cdate(fieldname1+17) – cdate(fieldname1+27);
    if(fieldname7 == 36) return cdate(fieldname1+18) – cdate(fieldname1+28);
    if(fieldname7 == 37) return cdate(fieldname1+19) – cdate(fieldname1+29);
    if(fieldname7 == 38) return cdate(fieldname1+20) – cdate(fieldname1+30);
    if(fieldname7 == 39) return cdate(fieldname1+21) – cdate(fieldname1+31);
    if(fieldname7 == 40) return cdate(fieldname1+22) – cdate(fieldname1+32);
    if(fieldname7 == 41) return cdate(fieldname1+23) – cdate(fieldname1+33);
    if(fieldname7 == 42) return cdate(fieldname1+24) – cdate(fieldname1+34);
    if(fieldname7 == 43) return cdate(fieldname1+25) – cdate(fieldname1+35);
    if(fieldname7 == 44) return cdate(fieldname1+26) – cdate(fieldname1+36);

    })();

    Pregnancy weight gain

    (function(){

    if(fieldname9 == Week 1) return fieldname8;
    if(fieldname9 == Week 2) return fieldname8 + 0.15;
    if(fieldname9 == Week 3) return fieldname8 + 0.15;
    if(fieldname9 == Week 4) return fieldname8 + 0.15;
    if(fieldname9 == Week 5) return fieldname8 + 0.15;
    if(fieldname9 == Week 6) return fieldname8 + 0.15;
    if(fieldname9 == Week 7) return fieldname8 + 0.15;
    if(fieldname9 == Week 8) return fieldname8 + 0.15;
    if(fieldname9 == Week 9) return fieldname8 + 0.15;
    if(fieldname9 == Week 10) return fieldname8 + 0.15;
    if(fieldname9 == Week 11) return fieldname8 + 0.77;
    if(fieldname9 == Week 12) return fieldname8 + 0.77;
    if(fieldname9 == Week 13) return fieldname8 + 0.77;
    if(fieldname9 == Week 14) return fieldname8 + 0.77;
    if(fieldname9 == Week 15) return fieldname8 + 0.77;
    if(fieldname9 == Week 16) return fieldname8 + 0.77;
    if(fieldname9 == Week 17) return fieldname8 + 0.77;
    if(fieldname9 == Week 18) return fieldname8 + 0.77;
    if(fieldname9 == Week 19) return fieldname8 + 0.77;
    if(fieldname9 == Week 20) return fieldname8 + 1.03;
    if(fieldname9 == Week 21) return fieldname8 + 1.03;
    if(fieldname9 == Week 22) return fieldname8 + 1.03;
    if(fieldname9 == Week 23) return fieldname8 + 1.03;
    if(fieldname9 == Week 24) return fieldname8 + 1.03;
    if(fieldname9 == Week 25) return fieldname8 + 1.03;
    if(fieldname9 == Week 26) return fieldname8 + 1.03;
    if(fieldname9 == Week 27) return fieldname8 + 1.03;
    if(fieldname9 == Week 28) return fieldname8 + 1.03;
    if(fieldname9 == Week 29) return fieldname8 + 1.03;
    if(fieldname9 == Week 30) return fieldname8 + 0.77;
    if(fieldname9 == Week 31) return fieldname8 + 0.77;
    if(fieldname9 == Week 32) return fieldname8 + 0.77;
    if(fieldname9 == Week 33) return fieldname8 + 0.77;
    if(fieldname9 == Week 34) return fieldname8 + 0.77;
    if(fieldname9 == Week 35) return fieldname8 + 0.77;
    if(fieldname9 == Week 36) return fieldname8 + 0.77;
    if(fieldname9 == Week 37) return fieldname8 + 0.77;
    if(fieldname9 == Week 38) return fieldname8 + 0.77;
    if(fieldname9 == Week 39) return fieldname8 + 0.77;
    if(fieldname9 == Week 40) return fieldname8 + 0.77;

    })();

    2) I made changes in module_public_js.

    1. Open the module_public.js file, located in “/wp-content/plugins/calculated-fields-form/js/modules/01_mathematical_logical/public/module_public.js”, with the text editor of your choice.

    2. Go to the snippet of code:

    return isFinite( v ) || /\d{2}[\/\-\.]\d{2}[\/\-\.]\d{4}/.test( v );

    and modify like follow:

    return isFinite( v ) || /\d{2}[\/\-\.]\d{2}[\/\-\.]\d{4}(\s*\-\s*\d{2}[\/\-\.]\d{2}[\/\-\.]\d{4})?/.test( v );

    3) The drop down list are
    Choices help? Hide Dependencies
    TextValue
    Average Length of cycle

    Choiceshelp?Hide Dependencies
    Average Length of cycle

    Choiceshelp?Hide Dependencies
    TextValue 22

    If selected show: FieldName 5
    If selected show: FieldName 8
    If selected show: FieldName 9
    If selected show: FieldName 6

    Text Value 23
    If selected show: FieldName 5
    If selected show: FieldName 8
    If selected show: FieldName 9
    If selected show: FieldName 6

    so on ……

    I am reading all the documents. Somehow, it is not calculating drop down value.
    I am having problem in conception calculator and pregnancy weight gain calculator.

    Regards,

    Vijaya

    Plugin Author codepeople

    (@codepeople)

    Hi,

    I’ll give you some tips to correct the equations.

    First, the drop-down field with the number of weeks should use Week X as choice’s text but only the number in the choice value, for example:

    Choice’s text: Week 1
    Choice’s value: 1

    and the conditional statement in the equation would be:

    if(fieldname9 == 1) return fieldname8;
    if(fieldname9 == 2) return fieldname8 + 0.15;

    In the other equations, if you are concatenating two texts with date format, the correct would be:

    if(fieldname7 == 22) return cdate(fieldname1+4)+’ – ‘+cdate(fieldname1+14);

    Best regards.

    Thread Starter vijayasawant

    (@vijayasawant)

    I found the problem. It requires 3 = signs and double quote and when you copy from word document to form field you have to delete blank spaces. I don’t know why 3 = required but it is working now. I will do research afterwards. Great Plugin though.

    (function(){

    if(fieldname7 === 22) return cdate(fieldname1+4)+ ” – “+ cdate(fieldname1+10);
    if(fieldname7 === 23) return cdate(fieldname1+5)+ ” – “+ cdate(fieldname1+11);
    })();

    (function () {
    if (fieldname9===1) return fieldname8;
    if (fieldname9===2) return fieldname8 + 0.15;
    } ) ();

    Plugin Author codepeople

    (@codepeople)

    Hi,

    With 2 = signs is sufficient, the double or single quotes is a requirement, because in other case javascript interprets it as a mathematical operation.

    Best regards.

    Thread Starter vijayasawant

    (@vijayasawant)

    I don’t know why 2 = and single quote not working to populate the results. I tried 3 = and double quote, it started populating results. I will further investigate with excel sheet tables. Thanks a lot.

Viewing 6 replies - 1 through 6 (of 6 total)
  • The topic ‘Pregnancy Calculator’ is closed to new replies.