Formularfelder einblenden in Abhängigkeit von Auswahlmenue

Fragen und Probleme, die nicht den obigen Kategorien zugeordnet werden können


joshlukas
Forum-Newbie
Forum-Newbie
Beiträge: 1
Registriert: Do 14. Apr 2016, 16:06

Formularfelder einblenden in Abhängigkeit von Auswahlmenue

Beitrag von joshlukas »

Hallo allerseits.

Im Moment bin ich dabei ein Formular zu erzeugen. Soweit so gut und es funktioniert wie ich es mir vorstelle. Nun mein Problem. Es sind mehrere Formulare die sich in nur wenigen Feldern unterscheiden. Mein Vorhaben ist es, wird ein bestimmtes Feld ausgefüllt, sollen bestimmte Felder verborgen werden bzw. andere erscheinen. Ist denn überhaupt so etwas möglich? Kann mir jemand Rat geben? Im Netz konnte ich bislang nichts genaues finden.

Vereinfacht gesagt: Es gibt Formular A, Formular B und Formular C. Jedes dieser Formulare haben zum Teil andere Felder zum Ausfüllen. Ich möchte alle drei Formulare in ein/e Formular/PDF vereinen.

Anbei ein Minimalbeispiel meiner tex Datei:

Code: Alles auswählen

    \documentclass[
12pt,                       % Schriftgröße
a4paper,                    % Papierformat
oneside,                    % einseitiges Dokument
final                       % Status des Dokuments (final/draft)
]{scrreprt}
\usepackage[ngerman]{babel}
\usepackage[utf8x]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{hyperref}
\usepackage[pdftex]{eqexam}
\usepackage[pdftex]{insdljs}
\begin{insDLJS}[Daten]{Daten}{Auswertung}
var done=0;
function StartFunc(){
if(!done){
done=1;
this.getField(’Wessenprofil’).display=display.hidden;
this.getField(’Mailadr’).display=display.hidden;
this.getField(’AgentOne’).display=display.hidden;
this.getField(’Telber’).display=display.hidden;
this.getField(’Signatur’).display=display.hidden;
this.getField(’Drucker’).display=display.hidden;
this.getField(’Keyboard’).display=display.hidden;
this.getField(’Textbau’).display=display.hidden;
this.getField(’Favorit’).display=display.hidden;
%app. alert (’Das Formular wurde ge\u00F6 ffnet .’,3 );
}
}

function VeraenderungFunc()
{

if((event.value==’vccc’)||(event.value==’CallCenter’))
{
this.getField(’Wessenprofil’).display=display.visible;
this.getField(’Mailadr’).display=display.visible;
this.getField(’AgentOne’).display=display.visible;
this.getField(’Telber’).display=display.visible;
this.getField(’Signatur’).display=display.visible;
this.getField(’Drucker’).display=display.visible;
this.getField(’Keyboard’).display=display.visible;
this.getField(’Textbau’).display=display.visible;
this.getField(’Favorit’).display=display.visible;

this.getField(’Wessenprofil’).value=’Wessenprofil’;
this.getField(’Mailadr’).value=’Mailadr’;
this.getField(’AgentOne’).value=’AgentOne’;
this.getField(’Telber’).value=’Telber’;
this.getField(’Signatur’).value=’Signatur’;
this.getField(’Drucker’).value=’Drucker’;
this.getField(’Keyboard’).value=’Keyboard’;
this.getField(’Textbau’).value=’Textbau’;
this.getField(’Favorit’).value=’Favorit’;

this.getField(’Wessenprofil’).setFocus();
}

elseif((event.value==’cc’)||(event.value==’CustomerCare’))
{
this.getField(’Wessenprofil’).display=display.visible;
this.getField(’Mailadr’).display=display.visible;
this.getField(’AgentOne’).display=display.hidden;
this.getField(’Telber’).display=display.hidden;
this.getField(’Signatur’).display=display.hidden;
this.getField(’Drucker’).display=display.hidden;
this.getField(’Keyboard’).display=display.hidden;
this.getField(’Textbau’).display=display.hidden;
this.getField(’Favorit’).display=display.hidden;

this.getField(’Wessenprofil’).value=’Wessenprofil’;
this.getField(’Mailadr’).value=’Mailadr’;
this.getField(’AgentOne’).value=’AgentOne’;
this.getField(’Telber’).value=’Telber’;
this.getField(’Signatur’).value=’Signatur’;
this.getField(’Drucker’).value=’Drucker’;
this.getField(’Keyboard’).value=’Keyboard’;
this.getField(’Textbau’).value=’Textbau’;
this.getField(’Favorit’).value=’Favorit’;

this.getField(’Wessenprofil’).setFocus();
}

}
\end{insDLJS}

\begin{document}

\begin{Form}
\renewcommand*{\DefaultOptionsofText}{print,borderstyle=U}
\begin{tabular}{p{7.45cm}p{7.45cm}}

Vorname    & Nachname                                   \\
\TextField[name=Vorname, width=7.45cm]{}    & \TextField[name=Nachname,width=7.45cm]{}      \\
&                                                   \\
Personalnummer  &                                           \\
\TextField[name=Personalnummer, width=7.45cm]{} &                               \\
&                                                   \\ \\ \hline \\
\textbf{Bei Neueinstellung}    &                                \\
Abteilung       & Ab                                    \\
\ChoiceMenu[combo,name=Einsatzort,width=7.45cm]{}   &                   \\
& \TextField[name=Abdatum,width=7.45cm]{}                                                   \\
&                                                   \\ \\ \hline \\
\textbf{Bei Abteilungswechsel}  &                           \\
 Abteilung jetzt    & Bis                                   \\
\TextField[name=Einsatzortjetzt, width=7.45cm]{} & \TextField[name=Bis,width=7.45cm]{}      \\
&                                                   \\
Abteilung dann  & Ab                                    \\
\TextField[name=Einsatzortdann, width=7.45cm]{} & \TextField[name=Abdatum,width=7.45cm]{}   \\
&                                                   \\ \\ \hline \\
\textbf{Bei Austritt aus dem Unternehmen}   &                       \\
Letzter Tag der Beschäftigung       &                       \\
\TextField[name=Letztertag, width=7.45cm]{} &                       \\
&                                                   \\
\end{tabular}
\end{Form}

\TextField[name=Wessenprofil,width=7.45cm,validate={VeraenderungFunc();}]{Wessen Profil}                             \\\\
\TextField[name=Mailadr,width=7.45cm,height=1.5cm,validate={VeraenderungFunc();}]{Welche Mailadresse}               \\\\
\CheckBox[width=0.5cm, height=0.5cm, name=AgentOne,validate={VeraenderungFunc();}]{Ja oder nein}                    \\\\
\TextField[name=Telber,width=7.45cm,validate={VeraenderungFunc();}]{Bereich Telefon}                                \\\\
\TextField[name=Signatur,width=7.45cm,height=1.5cm,validate={VeraenderungFunc();}]{Welche Signatur}                 \\\\
\TextField[name=Drucker,width=7.45cm,validate={VeraenderungFunc();}]{Welcher Drucker}                               \\\\
\TextField[name=Keyboard,width=7.45cm,validate={VeraenderungFunc();}]{Keyboardlayout}                               \\\\
\TextField[name=Textbau,width=7.45cm,validate={VeraenderungFunc();}]{Welche Textbausteine}                          \\\\
\TextField[name=Favorit,width=7.45cm,validate={VeraenderungFunc();}]{Welche Favoriten}                              \\\\

\end{document}

Benutzeravatar
Johannes_B
Moderator
Moderator
Beiträge: 5080
Registriert: Do 1. Nov 2012, 14:55
Kontaktdaten:

Beitrag von Johannes_B »

TeXwelt - Fragen und Antworten Schaut vorbei und stellt Fragen.
LaTeX-Vorlagen?

Der Weg zum Ziel: Ruhe bewahren und durchatmen, Beiträge und unterstützende Links aufmerksam lesen, Lösungsansätze verstehen und ggf. nachfragen.

Antworten