我有一個名爲CONTEST使用下面的值在數據庫上字段名:JS不允許破折號( - );有任何想法嗎?
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來解決破折號?
對不起,如果這是措辭不佳。
非常感謝
你可以運行螢火蟲或Chrome開發人員工具,並在告訴我們哪條線發生錯誤。這可以幫助你找到問題的原因 – kabaros
@kabaros,它在這一行: divRaceData.innerHTML = featureSet [i] .attributes.CONTEST; –
提供屬性'.CONTEST'存在並且是一個合法的JavaScript標識符,代碼不應該失敗。錯誤消息表明'.CONTEST'不存在,所以我只能假設問題出在代碼之外的某處;即構成'featureSet'的任何地方。 –