function createListItem() { 
   var clientContext = new SP.ClientContext(_spPageContextInfo.siteAbsoluteUrl); 
   var oList = clientContext.get_web().get_lists().getByTitle('TestList'); 
   var itemCreateInfo = new SP.ListItemCreationInformation(); 
   this.oListItem = oList.addItem(itemCreateInfo);
 
   //Single line of text 
   oListItem.set_item('Title', 'My New Item!');

//Single Choice
   oListItem.set_item('PetkaChoiceDrop', 'Enter Choice #1');

//Multi Choice 
   var petkaChoiceMultiArray = new Array("Enter Choice #1","Enter Choice #2");   
   oListItem.set_item('PetkaChoiceMulti', petkaChoiceMultiArray);

//Single Lookup 
   var PetkaLookupSingle = new SP.FieldLookupValue(); 
   PetkaLookupSingle.set_lookupId(2); 
   oListItem.set_item('PetkaLookup', PetkaLookupSingle);

//Multi Lookup 
   var lookupsIds = [1,2]; 
   var lookups = []; 
   for (var ii in lookupsIds) { 
      var lookupValue = new SP.FieldLookupValue(); 
      lookupValue.set_lookupId(lookupsIds[ii]); 
      lookups.push(lookupValue); 
   } 
   oListItem.set_item('PetkaLookupMulti', lookups);
 
   //Yes=1 / No=0 
   oListItem.set_item('PetkaYesNo', 1);

// Single Person 
   var singleUser = SP.FieldUserValue.fromUser('Peter Dotsenko'); 
   oListItem.set_item('PetkaPersonSingle', singleUser); 
  
   //Multi Person 
   var petkaUserMultiArray = new Array("peterd@domain.com","Peter Dotsenko","domain\\peterd"); 
   var lookups = []; 
   for (var ii in petkaUserMultiArray) { 
      var lookupValue = SP.FieldUserValue.fromUser(petkaUserMultiArray[ii]); 
      lookups.push(lookupValue); 
   } 
   oListItem.set_item('PetkaPersonMulti', lookups);

//Managed Multi 
   var field = oList.get_fields().getByInternalNameOrTitle("PetkaManagedMulti"); 
   var taxField = clientContext.castTo(field, SP.Taxonomy.TaxonomyField); 
   var terms = new SP.Taxonomy.TaxonomyFieldValueCollection(clientContext,getMultiTax(),taxField); 
   taxField.setFieldValueByValueCollection(oListItem, terms);

//Managed Single 
   var field = oList.get_fields().getByInternalNameOrTitle("PetkaManagedSingle"); 
   var taxField = clientContext.castTo(field, SP.Taxonomy.TaxonomyField); 
   var taxonomySingle = new SP.Taxonomy.TaxonomyFieldValue(); 
   taxonomySingle.set_label("Mamo"); 
   taxonomySingle.set_termGuid("10d05b55-6ae5-413b-9fe6-ff11b9b5767c"); 
   taxonomySingle.set_wssId(-1); 
   taxField.setFieldValueByValue(oListItem, taxonomySingle);
 
   //Hyperlink or Picture 
   var hyperLink = new SP.FieldUrlValue(); 
   hyperLink.set_url("http://cnn.com"); 
   hyperLink.set_description("CNN"); 
   oListItem.set_item('PetkaHyperLink', hyperLink);
 
   //Currency 
   oListItem.set_item('PetkaCurrency', '100');
 
   //DateTime 
   oListItem.set_item('PetkaDateTime', '3/14/2014');

//MultiLine text 
   oListItem.set_item('PetkaMultiText', '<p><strong>Hello!</strong></p>');
 
   oListItem.update(); 
   clientContext.load(oListItem); 
   clientContext.executeQueryAsync( 
     Function.createDelegate(this, this.onQuerySucceeded),  
     Function.createDelegate(this, this.onQueryFailed) 
   ); 
}

function getMultiTax(){ 
      var terms = new Array(); 
      terms.push("-1;#Mamo|10d05b55-6ae5-413b-9fe6-ff11b9b5767c"); 
      terms.push("-1;#Popo|178888b0-7942-45bb-b3f1-2f38d476e3db"); 
      return terms.join(";#"); 
}

function onQuerySucceeded() {
    SP.UI.Notify.addNotification('Item created: ' + oListItem.get_id());
}

function onQueryFailed(sender, args) {
    console.log('Request failed. ' + args.get_message() + '\n' + args.get_stackTrace());
}

JSOM 中对各种字段操作的更多相关文章

  1. Javascript 操作 Sql中的Xml 字段

    在一个项目当中,我们需要把数据库中的Xml字段中的信息表现在页面中,如果用Sql进行操作,读取.这样的话,必然导致太复杂,于是我想到了,如果把Xml字段先读出来,然后用Js去操作,这样岂不是简单了许多 ...

  2. MySQL数据库 字段操作 多表关系(更新中...)

    外键 (foreign key) ## 外键 ```mysql # 作者(author):id,name,sex,age,mobile, detail_id # 作者详情(author_detail) ...

  3. .Net处理Oracle中Clob类型字段总结

    最近在做项目中用到Clob这个字段,Clob是存储无限长字符的Oracle字段,用的时候网上找资料找了好久,内容不是很多,大部分都不能用,当然也有可以用的,测试了不同版本,整理了一下,给大家在做项目的 ...

  4. C#更新SQLServer中的TimeStamp字段(时间戳) 防止同时修改一行时覆盖更新

    C#更新SQLServer中的TimeStamp字段(时间戳) 分类: C#2012-10-24 15:10 1878人阅读 评论(0) 收藏 举报 public partial class Form ...

  5. mysql中的null字段值的处理及大小写问题

    在MySQL中,NULL字段的处理,需要注意,当在处理查询条件中有NULL,很有可能你得到的值不是想要的,因为,在MySQL中,判断NULL值相等(=)或者不等(!=)都会返回false.主要出现在常 ...

  6. Django中的ORM进阶操作

    Django中的ORM进阶操作 Django中是通过ORM来操作数据库的,通过ORM可以很easy的实现与数据库的交互.但是仍然有几种操作是非常绕也特别容易混淆的.于是,针对这一块,来一个分类总结吧. ...

  7. [小技巧][ASP.Net MVC Hack] 使用 HTTP 报文中的 Header 字段进行身份验证

    在一些 Web 系统中,身份验证是依靠硬件证书进行的:在电脑上插入 USB 证书,浏览器插件读取证书的相关信息,然后在发送 HTTP 登录请求时顺便在 Header 字段附加上身份信息.服务器端处理这 ...

  8. SQL导入txt以及SQL中的时间格式操作

    原文:SQL导入txt以及SQL中的时间格式操作 MySQL中导入txt的指令为: load data local infile "路径名称" into table "表 ...

  9. HTTP 报文中的 Header 字段进行身份验证

    [小技巧][ASP.Net MVC Hack] 使用 HTTP 报文中的 Header 字段进行身份验证 在一些 Web 系统中,身份验证是依靠硬件证书进行的:在电脑上插入 USB 证书,浏览器插件读 ...

随机推荐

  1. 【Android】[转] Android Handler应设为static

    android开发中,使用Lint检测时会提示这么一句话 : This Handler class should be static or leaks might occur.意为handler应用s ...

  2. Android 2.x中使用actionbar - Actionbarsherlock

    1. 范例说明 从Android 3.0开始,Android引入了ActoinBar,不得不说3.0之前android的标题栏确实比较丑,并且还没有任何功能. 之前很多应用的顶部栏很多都是仿苹果的,比 ...

  3. C语言中两位ASCII码可以表示汉字

    最近偶然有人问到这个相关字符编码的问题,所以百度了下参考了这两个资料,进行了简单分析. ******************************************************** ...

  4. 基于Mono.Cecil的静态注入

    Aop注入有2种方式:动态注入和静态注入,其中动态注入有很多实现了 动态注入有几种方式: 利用Remoting的ContextBoundObject或MarshalByRefObject. 动态代理( ...

  5. JVM Tomcat性能实战

    本节只是介绍实战部分,具体的理论参数,请自行百度. 所需工具:linux服务器  Jmeter测试工具  xshell   一个web应用 Tomcat的JVM参数可以配置在catalina.sh,如 ...

  6. 如何提升我的HTML&CSS技术,编写有结构的代码

    前言 之前写了四篇HTML和CSS的知识点,也相当于是一个知识点汇总.有需要的可以收藏,平时开发过程中应该会遇到这些点,到时候再查看这些博客可能更容易理解.从这篇开始更多的介绍开发过程经常让人头痛的前 ...

  7. 两个dropDownList和一个GridView的选择与显示

    很久没有写ASP.NET了,今天有看到论坛上一个问题:"两个dropDownList和一个GridView,已经进行了数据绑定,现在想让第一个下拉菜单的数据改变时,第二个下拉菜单自动变到相应 ...

  8. DSOFramerControl简单使用

    以前大学做项目(Web的毕业论系统)就看见过在网页中嵌入Office的word,那时候用了哪个控件当时没记下来,我倒是忘了,最近发现在WinForm要嵌入Office的话,可以使用DSOFramerC ...

  9. Java总结篇系列:类型转换/造型

    Java中,经常可以遇到类型转换的场景,从变量的定义到复制.数值变量的计算到方法的参数传递.基类与派生类间的造型等,随处可见类型转换的身影.Java中的类型转换在Java编码中具有重要的作用.首先,来 ...

  10. C#的变迁史 - C# 4.0 之多线程篇

    在.NET 4.0中,并行计算与多线程得到了一定程度的加强,这主要体现在并行对象Parallel,多线程Task,与PLinq.这里对这些相关的特性一起总结一下. 使用Thread方式的线程无疑是比较 ...