我想创建一个简单的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));
}
答案 0 :(得分:2)
你的javascript看起来很好。 <.ptring()是不必要的。
关于javascript和CRM的有用说明,就是使用F12在IE中调试你的javascript。您可以设置断点并查看到底发生了什么。
如果产生错误,请将其包含在您的问题中。
答案 1 :(得分:2)
答案 2 :(得分:2)
正如Daryl已经指出的那样,javascript是可以的,除了ToString
。
我会添加height
和weight
的检查以防止空值(如果字段的最小值设置大于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!");
}
}