Liebes Forum,
ich habe ein Problem mit HTML Formularen:
Ich möchte den TeilnehmerInnen an einer Umfrage per Javascript ein Feedback geben, falls sie vergessen haben Angaben zu machen. Falls die Teilnehmenden die Angaben absichtlich leer gelassen haben, sollen Sie in der Lage sein, das Formular unvollständig abzusenden, wenn sie die Angaben jedoch tatsächlich vergessen haben, sollen sie die Möglichkeit haben, die fehlenden Angaben zu ergänzen.
Das Formular besteht aus mehreren Blöcken von Radiobuttons und die HTML sieht gerade so aus:
Mir wurde in einem anderen Forum (ich poste nun hier, weil dort niemand mehr geantwortet hat) geraten eine javascript Funktion "validateForm" zu schreiben, die beim submit ausgeführt wird. Diese Funktion soll also:
(mehr Vorschläge sind hier zu finden: http://stackoverflow.com/questions/...h-feedback-if-user-didnt-answer-all-questions)
Ich verstehe aber, wie gesagt, nicht wie und wo ich diesen Code einbauen soll. Kann mir jemand von euch/Ihnen weiterhelfen? Am hilfreichsten wäre es, wenn ihr in eurer Antwort den Code, den ich oben gepostet habe verwendet.
Danke im Voraus!
Gruß Benjamin
ich habe ein Problem mit HTML Formularen:
Ich möchte den TeilnehmerInnen an einer Umfrage per Javascript ein Feedback geben, falls sie vergessen haben Angaben zu machen. Falls die Teilnehmenden die Angaben absichtlich leer gelassen haben, sollen Sie in der Lage sein, das Formular unvollständig abzusenden, wenn sie die Angaben jedoch tatsächlich vergessen haben, sollen sie die Möglichkeit haben, die fehlenden Angaben zu ergänzen.
Das Formular besteht aus mehreren Blöcken von Radiobuttons und die HTML sieht gerade so aus:
HTML:
<form method="post" id="myForm" onsubmit="return validateForm()">
<table border="0" width="100%" height="70%" align="center">
<tr>
<td colspan="10">Geben Sie bitte für jede Aussage an, wie sehr Sie ihr zustimmen. Bitte lassen Sie keine Frage aus.
1 = völlige Ablehnung und 7 = völlige Zustimmung. </td>
</tr>
<tr>
<td colspan="10"> </td>
</tr>
<tr>
<td colspan="10"> </td>
</tr>
<tr>
<td colspan="10"> </td>
</tr>
<tr>
<td colspan="10"> </td>
</tr>
<tr>
<td></td>
<td colspan="5">völlige</td>
<td colspan="5" align="right">völlige</td>
</tr>
<tr>
<td></td>
<td colspan="5">Ablehnung</td>
<td colspan="5" align="right">Zustimmung</td>
</tr>
<tr><td><br></td></tr>
<tr>
<td>Question 1</td>
<td></td>
<td width="40" align="center"><input type=radio class = "form-field" name="<ml.varname>_01" value="1" >1</td>
<td width="40" align="center"><input type=radio class = "form-field" name="<ml.varname>_01" value="2" >2</td>
<td width="40" align="center"><input type=radio class = "form-field" name="<ml.varname>_01" value="3" >3</td>
<td width="40" align="center"><input type=radio class = "form-field" name="<ml.varname>_01" value="4" >4</td>
<td width="40" align="center"><input type=radio class = "form-field" name="<ml.varname>_01" value="5" >5</td>
<td width="40" align="center"><input type=radio class = "form-field" name="<ml.varname>_01" value="6" >6</td>
<td width="40" align="center"><input type=radio class = "form-field" name="<ml.varname>_01" value="7" >7</td>
</tr>
<tr><td><br></td></tr>
<tr>
<td>Question 2</td>
<td></td>
<td width="40" align="center"><input type=radio class = "form-field" name="<ml.varname>_02" value="1" >1</td>
<td width="40" align="center"><input type=radio class = "form-field" name="<ml.varname>_02" value="2" >2</td>
<td width="40" align="center"><input type=radio class = "form-field" name="<ml.varname>_02" value="3" >3</td>
<td width="40" align="center"><input type=radio class = "form-field" name="<ml.varname>_02" value="4" >4</td>
<td width="40" align="center"><input type=radio class = "form-field" name="<ml.varname>_02" value="5" >5</td>
<td width="40" align="center"><input type=radio class = "form-field" name="<ml.varname>_02" value="6" >6</td>
<td width="40" align="center"><input type=radio class = "form-field" name="<ml.varname>_02" value="7" >7</td>
</tr>
<tr><td><br></td></tr>
<tr>
<td>Question 3</td>
<td></td>
<td width="40" align="center"><input type=radio class = "form-field" name="<ml.varname>_03" value="1" >1</td>
<td width="40" align="center"><input type=radio class = "form-field" name="<ml.varname>_03" value="2" >2</td>
<td width="40" align="center"><input type=radio class = "form-field" name="<ml.varname>_03" value="3" >3</td>
<td width="40" align="center"><input type=radio class = "form-field" name="<ml.varname>_03" value="4" >4</td>
<td width="40" align="center"><input type=radio class = "form-field" name="<ml.varname>_03" value="5" >5</td>
<td width="40" align="center"><input type=radio class = "form-field" name="<ml.varname>_03" value="6" >6</td>
<td width="40" align="center"><input type=radio class = "form-field" name="<ml.varname>_03" value="7" >7</td>
</tr>
<tr><td><br><br><br></td></tr>
<tr><td><input type=submit value="Weiter"></td></tr>
</table></form>
Mir wurde in einem anderen Forum (ich poste nun hier, weil dort niemand mehr geantwortet hat) geraten eine javascript Funktion "validateForm" zu schreiben, die beim submit ausgeführt wird. Diese Funktion soll also:
- Prüfen, ob alle Radiobutton-Gruppen beantwortet wurden.
- Falls alle beantwortet wurden, soll das Formular gepostet werden und zur nächsten Seite gegangen werden.
- Falls jedoch nicht alle Fragen beantwortet wurden soll gefragt werden: "Sie haben nicht alle Fragen auf dieser Seite beantwortet, möchten Sie fortfahren, ohne diese Fragen zu bearbeiten?"
- Wenn der oder die UserIn nun "Ja" klickt soll die Seite unverändert abgeschickt werden und bei "Nein" soll, sie nicht abgeschickt werden (sie kann dann weiter bearbeitet werden).
HTML:
$('YOUR FORM').on('submit',function(){
var isChecked = validateForm();
if(!isChecked){
confirm('Please note that you didn't answer all of the questions on this page');
}
});
function validateForm() {
var isValid = true;
$('.form-field').each(function() {
if ( $(this).val() === '' )
isValid = false;
});
return isValid;
}
Ich verstehe aber, wie gesagt, nicht wie und wo ich diesen Code einbauen soll. Kann mir jemand von euch/Ihnen weiterhelfen? Am hilfreichsten wäre es, wenn ihr in eurer Antwort den Code, den ich oben gepostet habe verwendet.
Danke im Voraus!
Gruß Benjamin
Zuletzt bearbeitet: