織夢平台3.0 欄位與Request變數的問題



贊助商連結


kgb1025
2005-04-22, 11:34 PM
1.我用織夢平台3.0這個外掛的>>欄位與Request變數 的功能

http://old.e-dreamer.idv.tw/uploadsystem/upimages/0017.gif

2.但是會有錯誤

http://old.e-dreamer.idv.tw/uploadsystem/upimages/0022.gif

---------------------------
載入時發生 JavaScript 錯誤 db_re.htm:
無法開啟 Script 檔 "../../../../Shared/Controls/Scripts/RequestMenu.js" (錯誤 2)。
---------------------------

3.請問我該怎麼辦??

贊助商連結


akaishe
2005-04-22, 11:40 PM
.js是一個檔案,你確定路徑下檔案存在嗎?

kgb1025
2005-04-23, 12:11 AM
檔案有存在
以下是 RequestMenu.js 的內容

// Copyright 2000 Macromedia, Inc. All rights reserved.


//*-------------------------------------------------------------------
// CLASS:
// RequestMenu
//
// DESCRIPTION:
//
// PUBLIC PROPERTIES:
//
// PUBLIC FUNCTIONS:
//
//--------------------------------------------------------------------




//*-------------------------------------------------------------------
// FUNCTION:
// RequestMenu
//
// DESCRIPTION:
// Constructor function for the RecordetMenu control
//
// ARGUMENTS:
// behaviorName - the name of the behavior using this control
// paramName - the name of the parameter that is being set
//
// RETURNS:
//--------------------------------------------------------------------
function RequestMenu(behaviorName, paramName) {
this.behaviorName = behaviorName;
this.paramName = paramName;

this.listControl = '';

this.isRequestMenu = true;
}

//public methods
RequestMenu.prototype.initializeUI = RequestMenu_initializeUI;
RequestMenu.prototype.findServerBehaviors = RequestMenu_findServerBehaviors;
RequestMenu.prototype.canApplyServerBehavior = RequestMenu_canApplyServerBehavior;
RequestMenu.prototype.applyServerBehavior = RequestMenu_applyServerBehavior;
RequestMenu.prototype.inspectServerBehavior = RequestMenu_inspectServerBehavior;
RequestMenu.prototype.deleteServerBehavior = RequestMenu_deleteServerBehavior;
RequestMenu.prototype.analyzeServerBehavior = RequestMenu_analyzeServerBehavior;
RequestMenu.prototype.getValue = RequestMenu_getValue;

//private methods
RequestMenu.prototype.setMenuValues = RequestMenu_setMenuValues;
//RequestMenu.prototype.rsNameIsValid = RequestMenu_rsNameIsValid;


//*-------------------------------------------------------------------
// FUNCTION:
// initializeUI()
//
// DESCRIPTION:
// initializes the list control with the names of the recordsets
//
// ARGUMENTS:
// elementName - (optional) the name of the form control, if it
// differs from the parameter name
//
// RETURNS:
// nothing
//--------------------------------------------------------------------
function RequestMenu_initializeUI(elementName) {
var elemName = (elementName != null) ? elementName : this.paramName;

var nameValueArray = this.setMenuValues(); //hier moet ik een eigen invulling van het menu maken
var rsNames = nameValueArray[0];
var rsValues = nameValueArray[1];

this.listControl = new ListControl(elemName);
this.listControl.setAll(rsNames,rsValues);
}


//*-------------------------------------------------------------------
// FUNCTION:
// findServerBehaviors
//
// DESCRIPTION:
//
// ARGUMENTS:
//
// RETURNS:
//--------------------------------------------------------------------
function RequestMenu_findServerBehaviors(paramObj) {
// no op
}



//*-------------------------------------------------------------------
// FUNCTION:
// canApplyServerBehavior
//
// DESCRIPTION:
//
// ARGUMENTS:
//
// RETURNS:
//--------------------------------------------------------------------
function RequestMenu_canApplyServerBehavior(sbObj) {
var retVal = true;

var nameValueArray = this.setMenuValues();

var rsNames = nameValueArray[0];

if (!sbObj && rsNames.length == 0) { //if there are no Recordsets
alert(MM.MSG_NoRecordsets); //alert the user of the problem
retVal = false; //return false to indicate an error
}

return retVal;
}



//*-------------------------------------------------------------------
// FUNCTION:
// applyServerBehavior
//
// DESCRIPTION:
//
// ARGUMENTS:
//
// RETURNS:
//--------------------------------------------------------------------
function RequestMenu_applyServerBehavior(sbObj, paramObj) {
var rsName = this.listControl.get();
var rsValue = this.listControl.getValue();

//set the special data source flag, so that the sbManager adds
// the correct code to the page
paramObj.MM_dataSource = rsValue;

//add the data source name to the paramObj
paramObj[this.paramName] = rsName;

return "";
}



//*-------------------------------------------------------------------
// FUNCTION:
// inspectServerBehavior
//
// DESCRIPTION:
//
// ARGUMENTS:
//
// RETURNS:
//--------------------------------------------------------------------
function RequestMenu_inspectServerBehavior(sbObj, newErrMsgStr) {
var retVal = false;

var rsName = sbObj.parameters[this.paramName];

//find the name in the list
for (var i=0; i < this.listControl.getLen() ; i++) {
if (this.listControl.get(i) == rsName) {
retVal = this.listControl.setIndex(i);
break;
}
}

//now limit the list to only data sources of the same type
if (retVal) {
/*
var rsValue = this.listControl.getValue(i);
for (var i=this.listControl.getLen(); i >= 0; i--) {
if (this.listControl.getValue(i) != rsValue) {
this.listControl.del(i);
}
}
*/
} else { // data source name not found

//display error message (default if none). If "" passed in, don't display any error.
if (newErrMsgStr == null) {
alert(errMsg(MM.MSG_CouldNotFindRecordsetName,rsName));
} else if (newErrMsgStr.length) {
alert(newErrMsgStr);
}

}

return retVal;
}



//*-------------------------------------------------------------------
// FUNCTION:
// deleteServerBehavior
//
// DESCRIPTION:
//
// ARGUMENTS:
//
// RETURNS:
//--------------------------------------------------------------------
function RequestMenu_deleteServerBehavior(sbObj) {
// no op
}



//*-------------------------------------------------------------------
// FUNCTION:
// analyzeServerBehavior
//
// DESCRIPTION:
//
// ARGUMENTS:
//
// RETURNS:
//--------------------------------------------------------------------
function RequestMenu_analyzeServerBehavior(sbObj, allRecs) {
// no op
}



//*-------------------------------------------------------------------
// FUNCTION:
// getValue
//
// DESCRIPTION:
//
// ARGUMENTS:
//
// RETURNS:
//--------------------------------------------------------------------
function RequestMenu_getValue() {
return this.listControl.get();
}



//*-------------------------------------------------------------------
// FUNCTION:
// setMenuValues
//
// DESCRIPTION:
//
// ARGUMENTS:
//
// RETURNS:
//--------------------------------------------------------------------
function RequestMenu_setMenuValues() {
var nameValueArray = new Array();

var dsNames = ["Request", "Request.Form", "Request.QueryString", "Request.Cookies", "Request.ServerVariables", "Session"];
var dsValues = ["Request", "Request.Form", "Request.QueryString", "Request.Cookies", "Request.ServerVariables", "Session"];

//add the names and values arrays to the return array
nameValueArray.push(dsNames);
nameValueArray.push(dsValues);

return nameValueArray;
}



//*-------------------------------------------------------------------
// FUNCTION:
// rsNameIsValid
//
// DESCRIPTION:
//
// ARGUMENTS:
//
// RETURNS:
//--------------------------------------------------------------------
function RequestMenu_rsNameIsValid(rsName) {
var retVal = false;

var nameValueArray = this.setMenuValues();

var rsNames = nameValueArray[0];

for (var i=0; i < rsNames.length; i++) {
if (rsNames[i] == rsName) {
retVal = true;
break;
}
}

return retVal;
}

akaishe
2005-04-23, 12:20 AM
"../../../../Shared/Controls/Scripts/RequestMenu.js" 確定路徑對嗎?

kgb1025
2005-04-23, 09:32 AM
"../../../../Shared/Controls/Scripts/RequestMenu.js" 確定路徑對嗎?

確定對
http://old.e-dreamer.idv.tw/uploadsystem/upimages/0030.gif

kgb1025
2005-04-26, 11:30 AM
謝了
找到問題了
路徑錯誤
我把他修正了
奇怪 我又沒動過 為什麼路徑會跑掉???



"../../../../Shared/Controls/Scripts/RequestMenu.js" 確定路徑對嗎?

akaishe
2005-04-28, 01:59 PM
謝了
找到問題了
路徑錯誤
我把他修正了
奇怪 我又沒動過 為什麼路徑會跑掉???
一般來講,網頁不會用那麼多層的目錄,因為您的js檔案位於../../../../目錄,以目前狀況屬於上一層的好幾層目錄,所以可能會有問題,大部分都把js檔案擺在/js/目錄下,以相對路徑來說,就是/js/xxx(檔案名稱).js,應該就可以呼叫了!