Frage

Ich muss Werte aus meiner List-Ansicht (Kalender) an den Standard-Newform.aspx übergeben.Wenn Sie eigentlich wissen, können Sie an einem Tag in der Kalenderansicht auf die Schaltfläche "Hinzufügen" klicken.Dann wird der Tag automatisch ausgewählt.Was ich will, ist ein bisschen dasselbe.Ich möchte den Namen der Ansicht erhalten (es gibt ungefähr 20 ...), geben Sie dies an den NewForm.aspx an und wählen Sie einen Wert aus einem Combobox.Wer weiß das, wie man das macht?

Ich möchte nicht jede Ansicht ändern, um einen JS / JQuery-Code hinzuzufügen.Also, wenn möglich nur die newform.aspx-Seite ändern.

War es hilfreich?

Lösung

I've solved it by storing values within my cookie:

General script (added on masterpage):

function GetMeetingRoomPage()
{
    if (document.URL.indexOf('/sites/meetingrooms/Lists/Reservations/') >= 0)//Check if correct URL
    {
        var meetingRoomViewControl = "<id or class view>";
        if (jQuery(meetingRoomViewControl).length)//Check if control exists
        {

            setCookie("meetingRoomView", jQuery(meetingRoomViewControl).html(), "1");
        }
    }
    else
    {
        setCookie("meetingRoomView", "", "1");
    }
}
function setCookie(c_name, value, exdays)
{
    var exdate = new Date();
    exdate.setDate(exdate.getDate() + exdays);
    var c_value = escape(value) + ((exdays == null) ? "" : "; expires=" + exdate.toUTCString());
    document.cookie = c_name + "=" + c_value;
}
function getCookie(c_name)
{
    var i, x, y, ARRcookies = document.cookie.split(";");
    for (i = 0; i < ARRcookies.length; i++)
    {
        x = ARRcookies[i].substr(0, ARRcookies[i].indexOf("="));
        y = ARRcookies[i].substr(ARRcookies[i].indexOf("=") + 1);
        x = x.replace(/^\s+|\s+$/g, "");
        if (x == c_name)
        {
            return unescape(y);
        }
    }
}

Script within my newpage.aspx

ExecuteOrDelayUntilScriptLoaded(procAuditArgs, "sp.js");

function procAuditArgs(){
    var meetingRoomView = getCookie("meetingRoomView");
    if(meetingRoomView != "")
    {
        var meetingRoomControl = "<id or class combobox>";
        jQuery(meetingRoomControl + " option").each(function()
        {
            if(jQuery(this).text().indexOf(meetingRoomView) >= 0)
            {
                jQuery(this).attr("selected","selected");
            }
        });
    }
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit sharepoint.stackexchange
scroll top