我在数据库中有一个名为CONTEST的字段名,其值如下:
50 - DE - HOUSE 5 -D
47 - SHERIFF - M有几行这样的代码。
fieldname是一个文本字段。
我使用以下JavaScript尝试在表中显示这些值:
//Create list of available contest to display.
function CreateResultSet(featureSet) {
demVoteCount = 0;
repVoteCount = 0;
otherVoteCount = 0;
RemoveChildren(dojo.byId("race"));
resultsDataGroup = new Object();
var controlIndex = 0;
if (featureSet.length == 0) {
return;
}
else {
for (var i = 0; i < featureSet.length; i++) {
if (!resultsDataGroup[featureSet[i].attributes.CONTEST]) {
resultsDataGroup[featureSet[i].attributes.CONTEST] = new Array();
var divRaceData = document.createElement("div");
divRaceData.className = "divData";
divRaceData.id = "divRaceName" + (controlIndex);
divRaceData.innerHTML = featureSet[i].attributes.CONTEST;
divRaceData.setAttribute("controlIndex", controlIndex);
divRaceData.onclick = function () { DisplayChart(this); };
dojo.byId("race").appendChild(divRaceData);
controlIndex++;
}
if (featureSet[i].attributes.PARTY == "DEM") {
demVoteCount += featureSet[i].attributes.VOTES;
}
else if (featureSet[i].attributes.PARTY == "REP") {
repVoteCount += featureSet[i].attributes.VOTES;
}
else {
otherVoteCount += featureSet[i].attributes.VOTES;
}
resultsDataGroup[featureSet[i].attributes.CONTEST].push({ ContestName: featureSet[i].attributes.CONTEST, CandidateName: featureSet[i].attributes.CANDIDATE, VoteTotal: featureSet[i].attributes.VOTES, Party: featureSet[i].attributes.PARTY });
}
dojo.byId("race").scrollTop = 0;
currentRaceIndex = 0;
DisplayChart(dojo.byId("race").childNodes[0]);
dojo.byId('divSelectedGeometry').innerHTML = dojo.query(".divSelectedGeo", dojo.byId('geometry'))[0].innerHTML + " - ";
}
}当我运行代码时,我得到的“竞赛”找不到。
但是,如果我删除短划线,结果将正确显示,但短划线必须在那里。
你知道如何修改名为CONTEST的字段名来解释破折号吗?
如果这是糟糕的措辞,请提前向您道歉。
非常感谢
发布于 2012-10-17 17:49:25
让sql有破折号的方法就是把它放在你正在做的括号里,所以破折号不应该破坏你的sql。
我唯一的解释是,您的对象在来自服务器端时缺少一些值。
您是否可以更改出现错误的行,以添加一些额外的检查,以便:
divRaceData.innerHTML = (featureSet[i] && featureSet[i].attributes && featureSet[i].attributes.CONTEST)?featureSet[i].attributes.CONTEST : "VALUE MISSING"; 如果你得到"VALUE MISSING“,那么说明你的服务器端代码有问题,一个或多个对象没有你期望的层次结构。
就像甜菜根在评论中说的那样,像这样注入SQL是一种非常糟糕的做法,所以即使您继承了应用程序,也值得进行更改
https://stackoverflow.com/questions/12923132
复制相似问题