> For the complete documentation index, see [llms.txt](https://docs.ngsurvey.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.ngsurvey.com/de/form-management/form-designer/piping/javascript-piping.md).

# JavaScript-Piping

Mit JavaScript-Piping ist es möglich, einen Wert zu pipen, der mit beliebigem JavaScript Ihrer Wahl generiert wird.

Eine spezielle NGSJS-Funktion kann eingerichtet werden, um eine Ausgabe Ihres JavaScript-Codes zurückzugeben. Die Ausgabe kann dann in einem Standardwert gespeichert werden, um sie anzuzeigen und in einem Feld zu speichern.

{% hint style="warning" %}
Die Ausgabe wird nur im Submit-Modus ausgewertet. Wenn Ihre Umfrageantworten übermittelt wurden und Sie sich im Change-Modus oder Resume-Modus befinden, ist der Wert der ursprüngliche Wert, der vor dem Fortsetzen oder Ändern der Antworten gespeichert wurde.&#x20;
{% endhint %}

## ➕Einfaches Beispiel für die Summe von Feldern

Nachfolgend sind die Schritte zum Hinzufügen eines benutzerdefinierten JavaScript aufgeführt, das zwei Felder summiert. Sie können den Code anpassen, um jede gewünschte Ausgabe zum Speichern zu erzielen. Beachten Sie, dass Sie, wenn Sie nur eine Summe benötigen, die vorhandene [Numeric Field](/de/form-management/form-designer/answers/answer-types/numeric-answer-field.md) Typ stattdessen verwenden können\
\
Erstellen Sie eine Frage mit 3 Feldern

<figure><img src="/files/860b638de9de612aff5c306d24a60254370ebea3" alt=""><figcaption></figcaption></figure>

Sobald für jedes an der Berechnung beteiligte Feld erstellt, setzen Sie in den Antwort-Eigenschaften seinen Pipe-Alias; dieser wird später verwendet, um den aktuellen Wert nachzuschlagen.\
\
![](/files/ba9f6d148c66e28becfdb981ef57e5e9371546d9)\
\
![](/files/a0a6c3e1572fcb76ba7b9efced3094cace905c68)\
\
\
Im Feld Result öffnen Sie die Antwort-Einstellungen und verwenden im Standard-Textwert die NGSJS-Funktion, um den Wert der beiden anderen Felder abzurufen und das Ergebnis auszugeben.\ <br>

<figure><img src="/files/8820b98cafc08c20691856133047807dcbb76eb0" alt=""><figcaption></figcaption></figure>

```
NGSJS(return pipeContext.getAnswer('VALUEA') + pipeContext.getAnswer('VALUEB'))
```

## 👨‍💻️ pipeContext

pipeContext ist ein integriertes Objekt, das Ihnen die folgenden Optionen bietet:\
\
**Eigenschaften:**

* `questions: Question[]`\
  Liste der Umfragefragen.
* `answers: Answer[]`\
  Liste der möglichen Antworten über alle Fragen hinweg.
* `respondent: Respondent`\
  Informationen zum aktuellen Befragten.
* `panelists: Panelist[]`\
  Zugehörige Panelisten (falls zutreffend).
* `respondentAnswers: RespondentAnswer[]`\
  Vom Befragten bereitgestellte Antworten.
* `pipeDataAttributesValues: PipeDataAttributeValue[]`\
  Zusätzliche Pipe-Datenattribute und Werte.

#### Methoden

**`getAnswer(id: string): string`**

Gibt den/die mit einer angegebenen Kennung verknüpften Wert(e) zurück.

* Unterstützt die Suche nach:
  * Answer ID
  * Question ID
  * Reporting-Alias
  * Pipe-Alias
* Verhalten:
  * Wenn die Kennung mit einer **textbasierten Antwort**übereinstimmt, wird ihr Wert zurückgegeben.
  * Wenn sie mit einer **Frage**übereinstimmt, werden die ausgewählten Antworten zurückgegeben.
  * Mehrere Werte werden als kommagetrennter String zurückgegeben.

**`isSelectedAnswer(id: string, value: string): boolean`**

Prüft, ob eine bestimmte Antwort ausgewählt ist.

* Parameter:
  * `id`: Frage- oder Antwortkennung
  * `value`: Zu prüfende Antwortkennung oder zu prüfender Wert
* Verhalten:
  * Wenn `id` sich auf eine Frage bezieht → prüft, ob die angegebene Antwort ausgewählt ist.
  * Wenn `id` sich auf eine Antwort bezieht → vergleicht den Wert direkt.
* Gibt zurück:
  * `true` wenn die Antwort ausgewählt ist oder übereinstimmt
  * `false` ansonsten


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.ngsurvey.com/de/form-management/form-designer/piping/javascript-piping.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
