سؤال

أحتاج إلى تمرير القيم من العرض الخاص بي (التقويم) إلى NewForm.aspx الافتراضي.كما تعلمون بشكل مقدما، يمكنك النقر فوق الزر "إضافة" في يوم ضمن عرض التقويم.ثم يتم اختيار اليوم تلقائيا.ما أريده هو نفسه قليلا.أريد أن أحصل على اسم الرأي (هناك حوالي 20 ...)، قم بتمرير هذا إلى NewForm.aspx وحدد قيمة من ComboBox.أي شخص يعرف كيفية القيام بذلك؟

لا أريد تعديل كل طريقة عرض لإضافة بعض رمز JS / JQUERY.لذلك إذا كان ذلك ممكنا فقط تعديل صفحة NewForm.aspx.

هل كانت مفيدة؟

المحلول

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");
            }
        });
    }
}
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى sharepoint.stackexchange
scroll top