簡體   English   中英

MOSS 07 editform.aspx提交失敗並轉到空白HTML頁面

[英]MOSS 07 editform.aspx fails to commit and goes to blank html page

從Microsoft博客找到解決方案...請參閱下文

好的,首先,我不喜歡隨機這個詞,但是在這個問題的測試案例中我找不到任何相關性,因此我將使用隨機來描述這個問題的某些部分。

設置:我有一個列表,其中列出了EditForm.aspx和NewForm.aspx的自定義UI。 我在兩者之間使用了相同的JS文件和JavaScript。 我在Google地圖中添加了幫助說明位置選擇的信息。 我已將其他代碼添加到“確定”按鈕中,以進行一些動態驗證。 我也做了很多動態菜單操作。 所有用戶都使用IE 9,並且該站點位於MOSS 2007服務器上。

問題:僅在EditForm.aspx上,單擊“確定”,“隨機”會導致立即出現白屏。 表單未保存,查看白屏的源代碼時,我發現空白的html頁面。

我試圖找到這個問題的原因:-我試圖縮小發生這種情況的用戶和計算機的范圍,發現每台計算機上的每個人都發生這種情況(再次“隨機”)。 -我嘗試禁用前面添加到“確定”按鈕的代碼-我嘗試在調試IE9的外部腳本之后跟蹤代碼,但未發現任何錯誤

我可以提供代碼,但是它有點長,我真的不知道從哪里開始。 因此,如果需要,我可以提供。

感謝您的提前幫助。

編輯:這是代碼重新連接我的“確定”按鈕(我之前將值重置為“保存”)

    var okBtns = $('input[value="Save"]')
    $.each(okBtns, function(index,value){
        okFunction=$(value).attr('onclick');
        $(value).attr('onclick','return false;')
        $(value).bind('click', function(){
            if ($('#'+StatusBox).val()=='Draft') {$('#'+StatusBox).val('New Request')}
            var err = clickOKbutton();
            if(err==0) {okFunction()};
        });
    });

這是常規共享點操作之前的代碼的clickOKbutton函數:

function clickOKbutton()
{
    //all of the imput validation i could ever wish for!!!!
    var NoteVal = ''
    var NameAry = $('#'+PersonnelBox).parent().children(":first").children("SPAN").children("SPAN");
    $.each(NameAry, function(index,value){
        var $n=$(value).html();     
        if(NoteVal.length==0) {NoteVal=$n} else {NoteVal=NoteVal+';'+$n};
    });
    //$('#'+AddNotes).val(NoteVal);

    var plh = $('#'+PersonnelBox).parent().html()
    userNameTx = $('#zz8_Menu').text();
    userNameTx = userNameTx.replace('Welcome ','');
    $.each(OICUsers, function(i,v){
        if(plh.indexOf(v) > -1 && st=='New Request'){
            $('#'+StatusBox).val('OIC Bypassed')
            $('#'+CommentsBox).val('OIC is travling on this TDY/TAD and cannot approve. So this request is bypassing the "OIC Approval" step')
        }
    });

    /*userNameTx = $('#zz8_Menu').text();
    userNameTx = userNameTx.replace('Welcome ','')

    $('#' + ModBox).closest('TR').show();*/
    var message=''
    message = detectFieldChanges(AllFieldsArray,AllOrgValArray,"Draft,New Request,Modified")        
    if(message.length>0){
        $('#'+ModBox).val(message);
        AutoResizeTextarea(ModBox);
    }

    message = detectFieldChanges(ValFieldsArray,OrgValuesArray,"Draft,New Request,Modified,OIC Approved,OIC Bypassed,Pending RFI,Ready for COS")
    userNameTx = $('#zz8_Menu').text();
    userNameTx = userNameTx.replace('Welcome ','');
    if(message.length>0&&$.inArray(userNameTx,COSUsers)==-1){
        $('#'+StatusBox).val('Modified').change;
        $('#'+StatusLongBox).val('Modified').change;
    }       


    //Subject box
    var pb = NoteVal;
    var ep = $('#'+ExtPersonnel).val();
    var ab = $('#'+AddressBox).val();
    var sd = $('#'+sDateBox).val();
    var ed = $('#'+eDateBox).val();
    var st = $('#'+StatusBox).val();
    var p = pb+';'+ep;
    var p = p.replace(/mossaspnetmembershipprovider:/g,'');
    var p = p.slice(0,-1);
    var ad = ab+' '+sd+' to '+ed;
    var s = 'eTDY | '+st+' - '+p+' - '+ad;
    if(s.length>255){
        var l = s.length-255;
        p = p.substring(0,p.length-l);
        s = 'eTDY | '+p+' - '+ad;
    }
    $('#'+Subject).val(s);

    //check Lat/Lng value
    if($('#'+LatBox).val()=='' || $('#'+LngBox).val()==''){
        //alert("Cannot continue unless the Lat Lng has a vallid coordinate");
        if($('#LatLngError').length==0){
            errorHTML='<br><span class="ms-error" id="LatLngError">You must specify a value for Lat and Lng</span>'
            $('#'+AddressBox).closest('TD').append(errorHTML)

        }
        return -1
    }
    return 0
};

它很雜亂,但希望您能理解它。

編輯2:

我想我已經跟蹤了隨機性……我完全關閉了所有自定義代碼,仍然有問題。 然后,我嘗試將工作記錄與非工作記錄進行比較。 一切看起來都很正常,直到我與多人選擇器一起到達現場為止。 如果我在該字段中有2個以上的人,它將保存正常,但是當我在人員選擇器字段中與2個以上的人對該記錄進行修改時,將導致此問題。 我將做更多研究,並將發布結果。

編輯3:

http://blogs.msdn.com/b/jorman/archive/2009/12/22/mystery-of-the-sharepoint-white-screens.aspx

此問題全部歸結為IIS配置和模擬級別。 顯然,我們的服務器管理員決定在不通知任何人的情況下進行更改。

通常,當您從網頁(尤其是在MOSS中)獲得[看似隨機]的行為時,這意味着您在頁面上定義了模糊的事件。 通常,當我向按鈕或on_submit表單中添加某種JScript時,就會得到此信息。
沒有看到您的代碼,我無法進一步縮小范圍。 我建議:在HTML表單上或按鈕單擊事件上查找JavaScript事件,或者尋找指向無處(href =#)但具有javascript的錨點[a]標簽。 然后決定(嚴格地)以HTML方式(表單,提交按鈕)或javascript方式(無表單,無asp:button)進行操作,然后取消連線。

此問題全部歸結為IIS配置和模擬級別。 顯然,我們的服務器管理員決定在不通知任何人的情況下進行更改。

http://blogs.msdn.com/b/jorman/archive/2009/12/22/mystery-of-the-sharepoint-white-screens.aspx

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM