2017-03-20 5 views
-1

私はボローニャ大学(イタリア)の学生ですjavascript with qualtrics survey

私はhtmlとjavascriptを使って簡単なゲームを作成しました。目標は、できるだけ早くキーボードの矢印キーを使用してパスの終わりに到達しています。

私はこのゲームをQualtricsの調査に挿入します。 htmlとhtmlの両方をRich Content Editorのソースタブに入力しようとしましたが、結果は同じです:プレビューの質問を使用すると正しいテンプレートが表示されますが、もちろんJavaScriptはテストできませんプレビュー調査を使用するときには、正しいテンプレートは表示されず、一部のテキストのみが表示されます。

私は "javascriptを追加する"を使用すべきかどうか、私はjavascriptスクリプトではなく、javascriptでHTMLを持っているのだろうと思っています。

ありがとうございました。フェデリコ

スクリプトの動作、http://federicoforte.altervista.org/testDestra.html

を見ると、ここにコードがある:

<html> 
<head><title>Un piccolo gioco</title> 

<STYLE type=text/css>#board TD { 
FONT-SIZE: 2pt; WIDTH: 30pt; HEIGHT: 30pt 
} 
TD.foot { 
FONT-SIZE: 10pt 
} 
#board TD.start { 
BORDER-TOP: black 2px solid; FONT-SIZE: 8pt; BACKGROUND: white; BORDER-LEFT: black 2px solid; COLOR: red; TEXT-ALIGN: center; 
} 
#board TD.end { 
FONT-SIZE: 8pt; COLOR: green; TEXT-ALIGN: center 
} 
#messaggio { 
PADDING-RIGHT: 0pt; PADDING-LEFT: 0pt; PADDING-BOTTOM: 0pt; MARGIN: 0pt; PADDING-TOP: 0pt; TEXT-ALIGN: center 
} 
</style> 

<script language=JavaScript> 
var percorso = new Array() 
for (var righe = 0; righe < 13; righe++) 
    percorso[righe]= new Array() 

percorso[0][0] = new Array(1,0,0,0,0,0,0,0,0,0,0,0) 
percorso[1][0] = new Array(0,0,0,0,0,0,0,0,0,0,0,0) 
percorso[2][0] = new Array(0,0,1,1,1,1,1,1,1,0,0,0) 
percorso[3][0] = new Array(0,0,0,1,1,1,1,1,0,0,0,0) 
percorso[4][0] = new Array(0,0,1,1,1,1,1,0,0,0,1,1) 
percorso[5][0] = new Array(0,0,0,0,0,0,0,0,0,0,0,0) 
percorso[6][0] = new Array(0,0,0,1,1,1,1,0,0,0,0,0) 
percorso[7][0] = new Array(0,0,0,0,1,1,1,1,0,0,0,0) 
percorso[8][0] = new Array(0,0,0,0,0,0,0,0,0,0,0,0) 
percorso[9][0] = new Array(0,0,0,0,0,0,0,0,0,1,0,0) 
percorso[10][0] =new Array(0,0,0,0,0,0,0,0,1,1,1,0) 
percorso[11][0] =new Array(0,0,0,0,0,0,0,0,0,0,0,0) 
percorso[12][0] =new Array(0,1,1,0,0,0,0,0,0,0,0,0) 

percorso[0][1] = new Array(1,0,0,0,0,0,0,0,0,0,0,0) 
percorso[1][1] = new Array(1,0,0,0,0,0,0,0,0,0,0,0) 
percorso[2][1] = new Array(1,1,0,0,0,0,0,0,1,0,0,0) 
percorso[3][1] = new Array(1,1,0,0,0,0,0,1,1,0,0,0) 
percorso[4][1] = new Array(1,0,0,0,0,0,1,1,1,1,0,1) 
percorso[5][1] = new Array(1,0,0,0,0,0,1,1,1,1,1,1) 
percorso[6][1] = new Array(1,0,1,0,0,0,0,1,1,1,1,1) 
percorso[7][1] = new Array(1,0,1,1,0,0,0,1,1,1,1,1) 
percorso[8][1] = new Array(1,0,1,1,0,0,0,1,1,1,1,1) 
percorso[9][1] = new Array(1,0,1,1,0,0,0,1,0,0,1,1) 
percorso[10][1] = new Array(1,0,1,1,0,0,0,0,0,0,1,1) 
percorso[11][1] = new Array(1,0,1,1,0,0,0,0,0,0,1,1) 
percorso[12][1] = new Array(0,0,0,1,0,0,0,0,0,0,1,1) 

var lati = new Array("border-top","border-right") 
var t0=0 
var t1=0 
var errori=0 

function avanza(){ 

if (!dentro) return 
    if (coordRiga==0 && coordCol==0) 
     t0=performance.now() 
    switch (event.keyCode) { 
    case 37: //sinistra 
     if (percorso[coordRiga][1][coordCol-1]==0)  { 
      if (prosegui(board.rows[coordRiga].cells[coordCol-1])) 
       messaggio.innerText="Sinistra" 
      coordCol-- 
     document.all.board.rows[coordRiga].cells[coordCol].style.backgroundColor ="green" 
     } else { 
     messaggio.innerText="Attento, hai sbagliato percorso" 
     errori++ } 
     break; 
    case 38: //su 
    if (percorso[coordRiga][0][coordCol]==0) { 
     if (prosegui(board.rows[coordRiga-1].cells[coordCol])) 
      messaggio.innerText="Su" 
      coordRiga-- 
      document.all.board.rows[coordRiga].cells[coordCol].style.backgroundColor ="green" 
    } else  { 
     messaggio.innerText="Attento, hai sbagliato percorso" 
     errori++ } 
     break; 
    case 39: //destra 
    if (percorso[coordRiga][1][coordCol]==0) { 
     if (prosegui(board.rows[coordRiga].cells[coordCol+1])) 
      messaggio.innerText="Destra" 
      coordCol++ 
    document.all.board.rows[coordRiga].cells[coordCol].style.backgroundColor ="green" 
    } else  { 
     messaggio.innerText="Attento, hai sbagliato percorso" 
     errori++ } 
     break; 
    case 40: //giù 
    if (percorso[coordRiga+1]==null) { 
    errori++ 
    messaggio.innerText="Attento, hai sbagliato percorso" 
    return } 
    if (percorso[coordRiga+1][0][coordCol]==0) 
    { 
     if (prosegui(board.rows[coordRiga+1].cells[coordCol])) 
      messaggio.innerText="Giù" 
     coordRiga++ 
    document.all.board.rows[coordRiga].cells[coordCol].style.backgroundColor ="green" 
    } else  { 
     messaggio.innerText="Attento, hai sbagliato percorso" 
     errori++ } 
     break; 
    } 
    if (document.all.board.rows[coordRiga].cells[coordCol].innerText=="end") { 
     t1=performance.now() 
     messaggio.innerText = "Molto bene, hai completato il percorso!\n "+"Hai impiegato: "+ (t1-t0)/1000+" secondi"+" con " +errori+ " errori." 
     dentro=false 
     stop=true 
    } 
} 

function prosegui(casella) { 
if ((board.rows[coordRiga].cells[coordCol].style.backgroundColor =="green") && (casella.style.backgroundColor=='green')) { 
      messaggio.innerText="Stai tornando indietro" 
      errori++ 
      board.rows[coordRiga].cells[coordCol].style.backgroundColor ="" 
      return false 
      } 
      return true 
} 

</script> 
</head> 

<body bgColor="white"> 
<br> 
<center> 
<b>TEST di abilit&aacute; con la mano DESTRA</b> 
<br> 
Usa i tasti freccia per completare il percorso nel <b>minor tempo possibile</b>, attento per&ograve; a non sbagliare scontrandoti con le pareti del percorso. 
<br>Saranno memorizzati anche gli errori. </strong></p> 
<br><p> 
<TABLE id=board cellSpacing=0 cellPadding=0 align=center> 
<script> 
for (var riga = 0; riga<percorso.length; riga++) { 
document.write("<TR>") 
for (var col = 0; col<percorso[riga][0].length; col++) { 
document.write("<TD STYLE='") 
for (var cell = 0; cell<2; cell++) { 
if (percorso[riga][cell][col]==1) 
document.write(lati[cell]+": 2px black solid;") 
} 
if ((0==col) && (0!=riga)) 
document.write("border-left: 2px black solid;") 
if (riga==percorso.length-1) 
document.write("border-bottom: 2px black solid;") 
if (riga==percorso.length-1 && col>=4 && col<11) 
document.write("border-bottom: 2px white solid;") 
if ((0==riga) && (0==col)) 
document.write(" background-color:yellow;' class=start>start</TD>") 
else 
if ((riga==percorso.length-1) && (col==percorso[riga][0].length-1)) 
document.write("' class=end>end</TD>") 
else 
document.write("'> </TD>") 
} 
document.write("</TR>") 
} 
coordRiga = 0 
coordCol = 0 
dentro = true 
document.onkeydown=avanza; 


</script> 
</table> 
<p id=messaggio></p> 
</body> 
</html> 

Qualtrics'supportは、JFEのcombatibilityの問題になることができると、それは可能である私に言いましたか?

ありがとうございました

+0

おそらく試してみてください...埋め込みですか?コードを教えてください。 –

+0

私は、コードを追加して質問を編集しました。助けてくれてありがとうございます –

答えて

0

ページが読み込まれた後にスクリプトを実行する必要があります。コードを共有することができれば、試してみることができます。

+0

これは答えではありません。 – Gent

+0

コードを追加して質問を編集しました。ありがとうございました –

+0

"head"タグを閉じてください。私はちょうどチェックし、それは私のためにうまく動作します。 「記述型」の質問の「HTMLビュー」セクションにコードをコピーします(これは標準的な方法ではありません)。 –

関連する問題