spjs utility / add item

Home Forums Classic DFFS spjs utility / add item

Tagged: ,

Viewing 2 reply threads
  • Author
    Posts
    • #32882
      DougMcCourt
      Participant

        Hi Alexander and forum members!

        Im looking to invoke a newform for a ‘child’ record – and am passing parms in a url i construct in the parent am looking for guidance on:
        1: setting the child list item’s content type using custom js (based on parm1)
        2: setting the child list items’s lookup value to the parent list – based on parm2)

        eg: xxxxx/NewForm.aspx?CType=T1&Parent=xxxxx
        Ideally – the SPFieldLookup in the child list item should be xxxxx, and the ContentTypeChoice should be T1.

        var parm = “&”+location.search.substring(1);
        var ary = parm.split(“&”);

        next line is trying to set the SPFieldLookup – doesnt work
        data.Data_x0020_Req_x0020_ID = ary[1].substring(8);

        next line is trying to set the content type – doesnt work
        data.ContentChoiceType = ary[2].substring(6)

        newItem = spjs.utility.addItem({“listName”:_spPageContextInfo.pageListId,”data”:data});
        if(newItem.success){

        Many thanks

      • #32884
        Alexander Bautz
        Keymaster

          I’m not sure I understand how you want to create the child item – using the normal NewForm and pull values from the parameters in the URL or using code in the parent to create it.

          I’ll start by showing how to do this programmatically from the parent item.

          spjs.utility.addItem({
              "listName":"Your_Child_List_GUID_Or_DisplayName",
              "data": {
                  "Title": "New item created with code", 
                  "ContentTypeId": "0x0100",
                  "Parent_Item_lookup_field": getFieldValue("ID")
              }
          });

          Change the snippet and add your child list GUID or display name and your parent item lookup field name.

          The content type “Item” has id “0x0100” and the “Task” has id “0x0108”. You find the id by looking at the URL when you try adding a new item in the child list using the specific content type.

          Alexander

        • #32918
          DougMcCourt
          Participant

            Hi Alexander – Thanksso much!

            Heres what i ended up with 🙂

            function NewChild(ChildType){
            var data = {}, newItem, url;
            var src=location.href.substring(0,location.href.indexOf(“&”));

            data.Title = ChildType + “: ” + getFieldValue(“ReqID”);
            data.Data_x0020_Req_x0020_ID = getFieldValue(“ID”);
            data.ContentTypeId = “0x0100E77C5DF82DE10E428F626F9C954B8E760096E526CBD027D145AA85C81E339A0ABA”;

            if(getFieldValue(“Req_x0020_Reg_x0020_Requirement”) === true ){
            data.PII = true;
            }

            if(getFieldValue(“Req_x0020_Reg_x0020_Requirement”) === true ){
            data.Req_x0020_Requirement = true;
            }

            if(getFieldValue(“Req_x0020__x002d__x0020_External”) === true){
            data.Ext_x0020_Reporting = true;
            }

            if(ChildType == “DG”){
            data.ContentTypeId = “0x01007B6650D869D02E41B966BB31EBC45DB700C33EEB7BB1687946B0DC3B37AE3B0CCD”;
            }

            newItem = spjs.utility.addItem({“listName”:”Request-Supplemental”,”data”:data});
            if(newItem.success){
            url = “http://sp-……my sharepoint site…./Lists/RequetSupplemental/EditForm.aspx?ID=”+newItem.id+”&”+src;
            if(GetUrlKeyValue(“IsDlg”)===”1″){
            url += “&IsDlg=1”;
            }
            location.href = url;
            }else{
            alert(newItem.errorText);
            }
            location.href=url;
            }

        Viewing 2 reply threads
        • You must be logged in to reply to this topic.