• Dynamic CRM 2013学习笔记(十七)JS读写各种类型字段方法及技巧


    我们经常要对表单里各种类型的字段进行读取或赋值,下面列出各种类型的读写方法及注意事项:

     

    1. lookup 类型

    • 清空值
    var state = Xrm.Page.getAttribute("new_state");
    
    if (state != null)
    
    {
    
    Xrm.Page.getAttribute("new_state").setValue(null);
    
    }
    • 读取值
    var state = new Array();
    
    state = Xrm.Page.getAttribute("new_state").getValue();
    
    if(state != null)
    
    {
    
    var stateText = state[0].name;
    
    var stateId = state[0].id;
    
    var stateType = state[0].entityType;
    
    alert("State is: " + stateText + ", ID: " + stateId + "
    
    of type: " + stateType);
    
    }

    特别要注意这里取出来的值,一定要加[0],不然取不到值

    • 赋值
    var state = new Array();
    
    state[0] = new Object();
    
    state[0].id = "{BA0762E4-64D2-E111-909E-00155D6C871A}";
    
    state[0].name = "New York";
    
    state[0].entityType = "new_state";
    
    Xrm.Page.getAttribute("new_state").setValue(state);
     
    2. Option sets
    • 读取值
    var sval = Xrm.Page.getAttribute("new_optionset").getSelectedOption().text;
    
    var sval = Xrm.Page.getAttribute("new_optionset").getSelectedOption().value;
    分别读取显示文本和值
    另外,我们还可以用下面的方法来获取text和value:
    var sval = Xrm.Page.getAttribute("new_optionset").getText();
    
    var sval = Xrm.Page.getAttribute("new_optionset").getValue();
     
    • 赋值
    function SetOSValue(osName, osLabel)
    
    {
    
    var options = Xrm.Page.getAttribute(osName).getOptions();
    
    for(i = 0; i < options.length; i++)
    
    {
    
    if (options[i].text == osLabel)
    
    Xrm.Page.getAttribute(osName).setValue(options[i].value);
    
    }
    
    }
     
    3. Datetime
    • 读取值
    var myContactBirthday;
    
    myContactBirthday = Xrm.Page.getAttribute("birthdate").getValue();
    
    alert("Contact birthday is: " + myContactBirthday);
    
    var year = myContactBirthday.getFullYear();
    
    var month = myContactBirthday.getMonth(); // from 0 to 11
    
    var day = myContactBirthday.getDate(); // from 1 to 31
    
    month = month + 1;
    
    alert("Year: " + year + ", Month: " + month + ", Day: " + day);
     
    • 赋值
    var currentDateTime = new Date();
    
    Xrm.Page.getAttribute("new_myDate").setValue(currentDateTime);
     
    4. Currency
    • 读取值
    var myCurrencyField;
    
    myCurrencyField = Xrm.Page.getAttribute("new_currencyfield").getValue();
    
    alert("The value of this Currency field is: " + myCurrencyField);
     
    • 赋值
    var myCurrencyValue = 6.25;
    
    Xrm.Page.getAttribute("new_currencyfield").setValue(parseFloat(myCurrencyValue));
     
     
    5. number, text
    • 读取值
    var myNumber;
    
    myNumber = Xrm.Page.getAttribute("new_number").getValue();
    
    alert("The number in the field is: " + myNumber);
     
    • 赋值
     
    Xrm.Page.getAttribute("new_text").setValue("abc");
    
    Xrm.Page.getAttribute("new_number").setValue(123);
     
    Dynamic CRM 2013学习笔记 系列汇总
     
     
  • 相关阅读:
    ASP.NET在禁用视图状态的情况下仍然使用ViewState对象【转】
    Atcoder Regular Contest 061 D Card Game for Three(组合数学)
    Solution 「CERC 2016」「洛谷 P3684」机棚障碍
    Solution 「CF 599E」Sandy and Nuts
    Solution 「洛谷 P6021」洪水
    Solution 「ARC 058C」「AT 1975」Iroha and Haiku
    Solution 「POI 2011」「洛谷 P3527」METMeteors
    Solution 「CF 1023F」Mobile Phone Network
    Solution 「SP 6779」GSS7
    Solution 「LOCAL」大括号树
  • 原文地址:https://www.cnblogs.com/fengwenit/p/4096910.html
Copyright © 2020-2023  润新知