Javascript-Bedingungen

👨‍💻️ Was sind Javascript-Bedingungen?

Mit Javascript-Bedingungen können Sie Ihre Regelbedingung mithilfe der Javascript-Sprache definieren. Die Javascript-Bedingungen befreien Sie von den vordefinierten Bedingungen, die durch die condition rules Benutzeroberfläche angeboten werden, und geben Ihnen die vollständige Freiheit, Ihre eigenen Bedingungen mit nativen Javascript-Anweisungen und -Operatoren zu schreiben.

Der Code Ihrer Javascript-Bedingung muss entweder true zurückgeben, wenn die Bedingungsregel erfolgreich ausgewertet werden soll, oder false, wenn sie fehlschlägt.

Sie können in Ihrem Code die folgenden vordefinierten Objekte verwenden

  • respondentAnswers ist das aktuelle Array der Antworten des Befragten.

  • languageCode ist die aktuell ausgewählte Sprachzeichenfolge des Befragten.

  • Antworten sind das aktuelle Antworten-Array der Survey.,

RespondentAnswer {
  answerId: string;
  respondentId: string;
  sectionNumber: number;
  value: string;
  disabled: boolean;
  authorizationToken: string;
}
 Answer {
  id: string;
  questionId: string;
  answerTypeId: string;
  text: string;
  pipeAlias:string;
  }

Der folgende Code durchläuft die aktuellen Antworten des Befragten und prüft, ob die Antwort mit der id "answerid1234" vom Befragten ausgewählt wurde.

for (var i=0;i<respondentAnswers.length;i++){
  if (respondentAnswers[i].answerId == 'answerid1234') {
     return true;
  }
}
return false;

Sie können die Frage-/Antwort-Hilfsfunktion selector verwenden, um die Fragen- oder Antworten-Ids zu erhalten

Sie können auch die Code testen Schaltfläche verwenden, um Ihren Code mit einem leeren Satz von Antworten des Befragten zu testen.

📚 Hilfsfunktionen

Um langwierigen, sich wiederholenden Code zu vermeiden, können Sie auch die folgenden Hilfsfunktionen verwenden.

  • isAnswerAnswered(answerId, textValue) gibt true zurück, wenn die Antwort vom Befragten ausgewählt oder eingegeben wurde. Sie können optional den Parameter textValue angeben, um den eingegebenen Text des Befragten mit einem bestimmten Text zu vergleichen.

  • isQuestionAnswered(questionId) gibt true zurück, wenn für die Frage irgendeine Antwort ausgewählt oder eingegeben wurde.

Das folgende Beispiel prüft, ob die Antwort mit der id "MCf35sd_UXTarDERxRHa" ihren Wert auf ngSurvey gesetzt hat.

return isAnswerAnswered('MCf35sd_UXTarDERxRHa', 'ngSurvey');

⚠️ Bekannte Einschränkungen

Bitte beachten Sie, dass diese Funktion derzeit die folgenden Einschränkungen aufweist, die in einer kommenden Version aufgehoben werden sollen.

  • Die Engine unterstützt derzeit nur ECMAScript 5. Verwenden Sie daher keine Sprachkonstrukte, die nicht den ECMAScript-5-Standards entsprechen.

  • Da die Javascript-Bedingungen auch auf der Serverseite ausgeführt werden verwenden Sie nicht irgendeine browser-spezifische Objekte wie window, console usw.. da diese auf der Serverseite nicht ausgewertet werden können, weil kein Browser vorhanden ist.

  • Wenn Sie eine Kopie Ihrer Survey mithilfe der clone Funktionen erstellen, müssen Sie die Frage- und Antwort-Ids Ihrer Javascript-Bedingung in Ihrer geklonten Survey manuell auf die neu erstellten Ids zurücksetzen.

Wenn Sie wirklich Browserobjekte und die neuesten Javascript-Sprachanweisungen/-Operatoren verwenden müssen, können Sie dies tun, indem Sie die serverseitige Validierung in Ihrem Umfrageeigenschaften. Beachten Sie, dass in einem solchen Fall keine serverseitige Validierung mehr durchgeführt wird, um die Gültigkeit der Fragen/Antworten Ihrer Antworten des Befragten zu erzwingen.

Zuletzt aktualisiert

War das hilfreich?