0 votes
in SoSci Survey (dt.) by s115606 (120 points)
edited by SoSci Survey

Innerhalb unseres Fragebogens sollen die Probanden eine Kopfrechenaufgabe lösen. Das Javascript hierfür ist bereits erstellt, jedoch scheitert es an der Einbindung. Survey akzeptiert den Code jedoch nicht. Folgende Fehlermeldung erscheint: "Sie verwenden im Inhalt das HTML-Tag <form>. Dies führt mit an Sicherheit grenzender Wahrscheinlichkeit zu fehlerhaftem HTML-Code und zu einer falschen Darstellung oder Funktion – zumindest in einigen Browsern."

Anbei unser Code, wir sind um jeden Ratschlag dankbar!

<html> 

<head> 

<title>Berechnung</title>



 <script language="JavaScript"> 



 

// Enter drücken
function AvoidSpace(event) {
    var k = event ? event.which : window.event.keyCode;
    if (k == 32) return false;
}

 function capturekeys(action) { 

  if (!action) {

    action = window.event; 

  }



  if(action.keyCode==32) {

   

	{var

	x=document.formular.Vergleich.value-13;

	document.formular.Vergleich.value=x;

	

}

	

	

	

if (document.formular.Eingabe.value==document.formular.Vergleich.value){


if (document.formular.Eingabe.value==8){
document.formular.Eingabe.value='FERTIG!';
document.formular.Eingabe.disabled = true;
document.formular.Eingabe.style.backgroundColor = "#c9ced8";
}
else{
document.formular.Eingabe.value='';
document.formular.Eingabe.style.backgroundColor = "#42f47a";
}

}
else {
document.formular.Eingabe.style.backgroundColor = "#f45c41";
document.formular.Vergleich.value=1022;
document.formular.Eingabe.value=1022;
document.formular.Eingabe.select();



  } 

} 
}
document.onkeypress = capturekeys;







// Countdown

function startTimer(duration, display) {

    var timer = duration, minutes, seconds;

    setInterval(function () {

        minutes = parseInt(timer / 60, 10)

        seconds = parseInt(timer % 60, 10);



        minutes = minutes < 10 ? "0" + minutes : minutes;

        seconds = seconds < 10 ? "0" + seconds : seconds;



        display.textContent = minutes + ":" + seconds;



        if (--timer < 0) {

            timer = "0";
			document.formular.Eingabe.value='Zeit abgelaufen!';
			document.formular.Eingabe.disabled = true;
			document.formular.Eingabe.style.backgroundColor = "#c9ced8";

        }

    }, 1000);

}



window.onload = function () {

    var threeMinutes = 60 * 3,

        display = document.querySelector('#time');

    startTimer(threeMinutes, display);

}





 </script> 

 

 

 </head>

 <body> 

 <blockquote>

 <body bgcolor=#FFFFFF> 

 

 <h1 style="font-family:Arial;font-size:34px;">Berechnung</h1>

 <p style="font-family:Arial;font-size:20px;">Start:1022 Schrittfolge: -13</p>



 <form name="formular">

 <p style="font-family:Arial;font-size:34px;">
 <input type=text name="Vergleich" value=1022 style="border: 1px;font-family:Arial;font-size:34px;" size=6> - 13 <br>

 <p style="font-family:Arial;font-size:22px;">= <input type=text name="Eingabe" style="border: 1px solid #000;border-radius: 5px;font-family:Arial;font-size:34px;" size=4 autofocus onkeypress="return AvoidSpace(event)"></p>

 <br> 

 

 

 

<div><p style="font-family:Arial;font-size:36px;">Restzeit: <span id="time">03:00</span> Minuten</p></div>

 


 </form> 
<input type="button" value="Von vorne beginnen" onClick="document.location.reload(true)">
 
 </blockquote>

 </body> 

 

 </html>
by s109993 (9.7k points)
löschen sie Ihre <html> tags, die werden nicht gebraucht, da sie sowieso in einer html Umgebung arbeiten. Sosci wird auch wegen dem - head und - body tag meckern. Ich denke das sie diese Warnung aber ignorieren können. Die meisten Browser Versionen unterstützen diese mitlerweile. siehe hier : https://caniuse.com/#search=head

PS: Sosci war schneller

1 Answer

0 votes
by SoSci Survey (302k points)

Sie verwenden im Inhalt das HTML-Tag <form>. Dies führt mit an Sicherheit grenzender Wahrscheinlichkeit zu fehlerhaftem HTML-Code

Die Fragebogen-Seite selbst ist bereits als HTML-Formular (<form>) gestaltet - und der HTML-Standard erlaubt nicht das Verschachteln mehrerer Formulare.

Die Frage ist also nun, wie Sie die beiden Formulare zusammenbringen. Dafür gibt es unterschiedliche Herangehensweisen:

(1) Sie können das <html> und <body> und <form> Ihres HTML-Codes weglassen und die Inhalte somit direkt als Teil der Fragebogen-Seite einbinden. Allerdings sind dann einige Anpassungen notwendig, z.B. möchten Sie diese Zeile wohl nicht beibehalten:

<input type="button" value="Von vorne beginnen" onClick="document.location.reload(true)">

(2) Sie können den HTML-Code als Textbaustein speichern und mittels textlink() in einem Pop-Up-Fenster öffnen.

(3) Sie können den HTML-Code als HTML-Datei speichern und diese ins Projektverzeichnis hochladen. Die HTML-Datei können Sie dann als <iFrame> direkt in den Fragebogen einbinden.

by s115606 (120 points)
"Sie können den HTML-Code als HTML-Datei speichern und diese ins Projektverzeichnis hochladen. Die HTML-Datei können Sie dann als <iFrame> direkt in den Fragebogen einbinden."

und wie funktioniert das dann wieder? Wie kann ich die HTML-Datei hochladen und wie funktioniert das Einbinden?
by SoSci Survey (302k points)
Der Upload funktioniert über "Bilder und Mediendateien" und die Verwendung des <iframe> Tags ist vielfach im Netz dokumentiert: https://www.w3schools.com/tags/tag_iframe.asp - als Quelle wird einfach nur der Dateiname der HTML-Datei (auf Groß-/Kleinschreibung achten) angegeben.

Willkommen im Online-Support von SoSci Survey.

Hier bekommen Sie schnelle und fundierte Antworten von anderen Projektleitern und direkt von SoSci Survey.

→ Eine Frage stellen


Welcome to the SoSci Survey online support.

Simply ask a question to quickly get answers from other professionals, and directly from SoSci Survey.

→ Ask a Question

...