많은 JavaScript를 사용하는 Qualtrics에서 실시한 설문 조사의 코딩을 마무리하고 있습니다. 안타깝게도 설문 조사에서 가장 중요한 질문 인 경우 질문이 설문 조사의 첫 번째 위치에 있지 않을 때 JavaScript가 작동하지 않습니다 [편집 :로드되지 않습니다]. 그러나이 질문에 표시된 그래프가 이전 답변에 의존하기 때문에 이전에 다른 질문을해야합니다.JavaScript가 Qualtrics에서 항상 작동하지 않는 경우
질문이 설문 조사의 첫 번째 위치에있을 때 코드 작업 here을 보는 것은 매우 실망 스럽습니다 (파란색 막대가있는 5 개의 그래프가 표시 될 수 있습니다. 초); 그러나 그래프는 더 이상 표시되지 않습니다. there, 질문을 두 번째 위치에 놓으면 (그래프가 없으므로 첫 번째 질문에 답을하고 다음에 버튼을 클릭해야합니다).
참고로 저는 jQuery와 플로팅 라이브러리 jChartFX를 사용합니다.
이 문제를 일으킬 수있는 사람은 누구입니까?
[편집] : 여기에 내 JavaScript 코드 (라이브러리를로드하는 헤더 제외)가 있습니다. HTML의 헤더에 포함되어야합니다 :
Qualtrics.SurveyEngine.addOnload(function()
{
$j(document).ready(function($j){
$j.ajax({
url:'https://login.qualtrics.com/WRQualtricsControlPanel/File.php?F=F_6yFft59YgdvIHfT',
success: function(data){
var actuelle, rawlsien, utilitarien;
var donnees_rawlsien, donnees_actuelle, donnees_utilitarien;
var prefere, egalitaire, actuelle, rawlsien, utilitarien;
var donnees_prefere, donnees_egalitaire; //, donnees_rawlsien, donnees_actuelle, donnees_utilitarien;
var donnees = {"utilitarien":donnees_utilitarien,"rawlsien":donnees_rawlsien,"egalitaire":donnees_egalitaire,"actuelle":donnees_actuelle,"prefere":donnees_prefere};
prefere = new cfx.Chart();
actuelle = new cfx.Chart();
egalitaire = new cfx.Chart();
rawlsien = new cfx.Chart();
utilitarien = new cfx.Chart();
donnees_egalitaire = new Array(2);
donnees_egalitaire[0] = {x: 0, y: 1800}
donnees_egalitaire[1] = {x: 1, y: 1800}
donnees_prefere = new Array(2);
donnees_prefere[0] = {x: 0, y: 1800}
donnees_prefere[1] = {x: 1, y: 1800}
var out = charge(data);
donnees_actuelle = out[0];
donnees_utilitarien = out[1];
donnees_rawlsien = out[2];
draw(utilitarien,"utilitarien", donnees_utilitarien);
draw(rawlsien,"rawlsien", donnees_rawlsien);
draw(actuelle,"actuelle", donnees_actuelle);
draw(egalitaire,"egalitaire", donnees_egalitaire);
draw(prefere,"prefere", donnees_prefere);
},
error: function(){
alert('Fail of data loading: utilitarien');
donnees_utilitarien = new Array(2);
donnees_utilitarien[0] = {x: 0, y: 1800}
donnees_utilitarien[1] = {x: 1, revenu: 1800}
}
});
function charge(texte) {
var dat=texte;
var tab=dat.split('\n');
var donnees_actuelle = new Array(100);
var donnees_utilitarien = new Array(100);
var donnees_rawlsien = new Array(100);
for (var i = 0; i<10; i++) {
donnees_actuelle[i] = {x:i, y:parseInt(tab[0].split('\t')[0])}
donnees_utilitarien[i] = {x:i, y:parseInt(tab[0].split('\t')[1])}
donnees_rawlsien[i] = {x:i, y:parseInt(tab[0].split('\t')[2])}
} (...)
donnees_actuelle[99] = {x:i, y:parseInt(tab[7].split('\t')[0])}
donnees_utilitarien[99] = {x:i, y:parseInt(tab[7].split('\t')[1])}
donnees_rawlsien[99] = {x:i, y:parseInt(tab[7].split('\t')[2])}
var out = new Array(3);
out[0] = donnees_actuelle;
out[1] = donnees_utilitarien;
out[2] = donnees_rawlsien;
return out;
}
function draw(graph, name, donnees) {
graph.setGallery(cfx.Gallery.Bar);
graph.getAllSeries().setVolume(100);
var axeY = new cfx.FieldMap();
axeY.setName("y");
axeY.setUsage(cfx.FieldUsage.Value);
graph.getDataSourceSettings().getFields().add(axeY);
graph.setDataSource(donnees);
graph.getAxisY().setMax(12000);
graph.getAxisX().setVisible(false);
graph.getAxisY().setStep(1000);
graph.setBackColor('#00FFFFFF');
var titreX, titreY;
titreY = new cfx.TitleDockable();
titreY.setText("niveau de vie (€/mois)");
titreY.setTextColor("#57ACDA");
graph.getAxisY().setTitle(titreY);
graph.getLegendBox().setDock(cfx.DockArea.Top);
graph.getSeries().getItem(0).setText("Niveau de vie des français (en €/mois)");
graph.getSeries().getItem(0).setColor("#FF0000");
graph.getLegendBox().setTextColor("#FF0000");
graph.getLegendBox().setMarginX(250);
var divHolder = document.getElementById(name);
graph.create(divHolder);
}
});
});
각 장소에서 생성하는 데 사용하는 코드를 게시 할 수 있습니까? 동일하거나 유사합니까? –
빠른 검색을 기반으로 작동하지 않는 링크에 포함 된 스크립트가 표시되지 않는다고 말할 수 있습니다. –
와우, Qualtrics에서 작동하지 않는 설문 조사에 가서 코드를 복사/붙여 넣으려고했습니다 (거기에있었습니다), 다시 시도했지만 ... 괜찮 았습니다. 나는 방금 두 번째 시도를 재시도했습니다 ... 그리고 더 이상 작동하지 않습니다 XD 당신에게 코드를 제공하기 위해 제 질문을 편집했습니다. – bixiou