使用javascript内部动态的BMI计算语法

时间:2013-04-16 13:17:59

标签: javascript dynamics-crm-2011 microsoft-dynamics calc

我想创建一个简单的BMI计算器(MS Dynamics 2011)

我有3个字段:

1: persons height (precision 2 - decimal formatted text box)
2. persons weight (precision 2 - decimal formatted text box)
3. BMI result - This field will display the BMI result. (also precision 2 - decimal)

我相信我需要检查两个字段1和&上的oncreate事件。 2,启动javascript函数进行计算。 但是,我对动态和java脚本都很陌生,需要一些帮助。

我认为这些方面的内容可能很接近。有人可以帮忙吗?

function BMICheck()
{
var Bmiresult = weight/(height/100*height/100);
Xrm.Page.getAttribute("new_bmiresulttextbox").setValue((Math.round(Bmiresult*100)/100).toString(    ));

}

我认为我理解逻辑正确,语法是我的主要问题。

谢谢!

使用javascript更新了答案:

function BMICheck()
{

var Bmival = Xrm.Page.getAttribute("crm_heightbox_decimal")/("crm_weightbox_decimal")/100*("crm_weightbox_decimal")/100);
 Xrm.Page.getAttribute("crm_bmiresultbox").setValue((Math.round(Bmival*100)/100));

 }

3 个答案:

答案 0 :(得分:2)

你的javascript看起来很好。 <.ptring()是不必要的。

关于javascript和CRM的有用说明,就是使用F12在IE中调试你的javascript。您可以设置断点并查看到底发生了什么。

如果产生错误,请将其包含在您的问题中。

答案 1 :(得分:2)

  1. 了解解决方案如何通过解决方案工作和工作:http://www.dynamicscrmtrickbag.com/2011/05/28/dynamics-crm-2011-solutions-part-1/
  2. 将JavaScript Web资源添加到新解决方案中
    • 打开您的解决方案或默认解决方案(通过自定义系统)
    • 单击“Web资源”
    • 单击新建
    • 选择脚本(JScript)
    • 单击文本编辑器,然后单击您的函数
  3. 将Web资源添加到表单
    • 开放形式
    • 单击表单属性
    • 将Web资源添加为库
  4. 将BMICheck添加到高度和重量的onChange事件中
    • 打开表格
    • 单击高度字段
    • 单击更改属性
    • 单击事件
    • 添加你的功能
    • 重复重量场
    • 注意:使用Guido的空检查以避免错误

答案 2 :(得分:2)

正如Daryl已经指出的那样,javascript是可以的,除了ToString。 我会添加heightweight的检查以防止空值(如果字段的最小值设置大于0.00,则可以避免检查是否为正数)

function BMICheck()
{
    var weight = Xrm.Page.getAttribute("new_weight").getValue();
    var height = Xrm.Page.getAttribute("new_height").getValue();
    if (weight != null & height != null) {
        var bmi = weight/(height/100*height/100);
        Xrm.Page.getAttribute("new_bmi").setValue(Math.round(bmi*100)/100);
    }
    else {
        alert("Need to insert Weight and Height!");
    }
}