[Webinar] Learn how to a build a cloud-first strategyRegister Now

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 163
  • Last Modified:

Set Default Values in SharePoint List Edit View using JavaScript

I want to set the values of 3 SharePoint list columns when it goes into edit mode using JavaScript in SharePoint Online.

I have a list in a popup form that looks like the below. When the user clicks the Edit button to go into edit mode, I want the EntryDateTime to be set to the current date/time, initials to be set to the initials of the current user, and Project to be set to the current project. How/where can I fire the JavaScript?

List
Fields to Populate
0
Michael Vasilevsky
Asked:
Michael Vasilevsky
  • 3
  • 2
1 Solution
 
leakim971PluritechnicianCommented:
could you post the two html corresponding to your screenshots pages?
0
 
Michael VasilevskySolutions ArchitectAuthor Commented:
As you wish. These are SharePoint pages so there's a bunch of code :-/

See attached.
projectCommuncations.html
projectCommuncationsEdit.html
0
 
leakim971PluritechnicianCommented:
try this, this is not very nice but that should do the work at least for today date and project number :

<script>
$(document).on("click", "#Hero-WPQ2 a.ms-heroCommandLink:contains('edit')", function(evt) { 
	var t = setInterval(function() {
        if($("#spgridcontainer_WPQ2_leftpane_mainTable").length) {
        	clearInterval(t);
        	var d = formatDate(new Date());
        	$("#spgridcontainer_WPQ2_leftpane_mainTable tr:last td:eq(1)").text(d);

        	var name = ""; // can't be done with this method as the name don't appear on the page, only something like : Jim's Mega project
        	$("#spgridcontainer_WPQ2_leftpane_mainTable tr:last td:eq(2)").text(name);

        	var currentproject = "";
        	var arr = $("h1:contains('Project Communications: Project ')").text().match(/Project\sCommunications:\sProject\s(\d*)\s/);
        	if(arr && arr[1])
        		currentproject = arr[1];
        	$("#spgridcontainer_WPQ2_leftpane_mainTable tr:last td:eq(6)").text(currentproject)
        }
	},100);
});

function formatDate(dateVal) {
    var newDate = new Date(dateVal);

    var sMonth = padValue(newDate.getMonth() + 1);
    var sDay = padValue(newDate.getDate());
    var sYear = newDate.getFullYear();
    var sHour = newDate.getHours();
    var sMinute = padValue(newDate.getMinutes());
    var sAMPM = "AM";

    var iHourCheck = parseInt(sHour);

    if (iHourCheck > 12) {
        sAMPM = "PM";
        sHour = iHourCheck - 12;
    }
    else if (iHourCheck === 0) {
        sHour = "12";
    }

    sHour = padValue(sHour);

    return sMonth + "/" + sDay + "/" + sYear + " " + sHour + ":" + sMinute + " " + sAMPM;
}

function padValue(value) {
    return (value < 10) ? "0" + value : value;
}
</script>

Open in new window

0
 
Michael VasilevskySolutions ArchitectAuthor Commented:
Wow, I was just expecting a push in the right direction but you solved it for me! Thanks so much - next time I'm paying!
0
 
Michael VasilevskySolutions ArchitectAuthor Commented:
Very good - thanks so much!
0

Featured Post

Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

  • 3
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now