Textfelder zusammenführen für Formular

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smilies
:D :) :( :o :shock: :? 8) :lol: :-x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Wenn du eine Datei oder mehrere Dateien anhängen möchtest, gib die Details unten ein.

Ansicht erweitern Die letzten Beiträge des Themas: Textfelder zusammenführen für Formular

Re: Textfelder zusammenführen für Formular

von Ulf » Mi 21. Okt 2020, 07:51

Manche Formularfunktionen nutzen Java Script und laufen daher nicht in Mac Vorschau.

Re: Textfelder zusammenführen für Formular

von Ulf » Di 20. Okt 2020, 06:48

Dank des Hinweises und mit ein Bisschen Suchen und Probieren bin ich auf folgende Lösung gekommen.

\documentclass{article}
\usepackage{hyperref}

\begin{document}
\begin{Form}

\TextField[
maxlen=40,
align=2,
height=10pt,
width=45pt,
name=alpha
]{Alpha}

\bigskip
\TextField[
maxlen=40,
align=2,
height=10pt,
width=45pt,
name=beta
]{Beta}

\bigskip
\ChoiceMenu[
combo,
name=combo1
]{Frage 1}{Male\_,Female,Other}

\bigskip
\ChoiceMenu[
combo,
name=combo2
]{Frage 2}{Eins,Zwei,Drei}

\bigskip
\TextField[
  maxlen=40,
  calculate={%
    var f_alpha = this.getField("alpha");
    var f_beta = this.getField("beta");
    event.value = f_alpha.value + f_beta.value;
  },
   align=2,
   height=10pt,
   width=45pt,
   name=gamma1,
   readonly=true
   ]{Gamma 1}


\bigskip
\TextField[
  maxlen=80,
  calculate={
    var f_alpha = this.getField("combo1");
    var f_beta = this.getField("combo2");
    event.value = f_alpha.value + f_beta.value ;
  },
   align=2,
   height=10pt,
   width=45pt,
   name=gamma2,
   readonly=true
   ]{Gamma 2}


\bigskip
\TextField[
  maxlen=400,
  calculate={
    var f_gamma1 = this.getField("gamma1");
    var f_gamma2 = this.getField("gamma2");
    event.value = f_gamma1.value + f_gamma2.value ;
  },
   align=2,
   height=10pt,
   width=100pt,
   name=gamma3,
   readonly=true
   ]{Gamma 3}


\end{Form}
\end{document}

Allerdings habe ich noch das Problem, dass das pdf nur im Adobe Reader funktioniert, nicht in Apples Vorschau. Hat da jemand eine Idee, woran das liegen kann?

Re: Textfelder zusammenführen für Formular

von Ulf » Mo 19. Okt 2020, 06:35

u_fischer hat geschrieben:
Fr 16. Okt 2020, 17:11

du musst calculate nicht value verwenden, wenn du javascript einbauen willst.

Danke für den Hinweis. Wie würde dann die entsprechende Code-Zeile aussehen?


\TextField[readonly=true,name=Zusammengesetzt,calculate={this.getField("Frage1")-this.getField("Frage2")-this.getField("Info1")-this.getField("Info2")}]{String}

Grüße.

Re: Textfelder zusammenführen für Formular

von u_fischer » Fr 16. Okt 2020, 17:11

du musst calculate nicht value verwenden, wenn du javascript einbauen willst.

Re: Textfelder zusammenführen für Formular

von Ulf » Do 15. Okt 2020, 18:23

Hallo,
das scheint leider eine exotische Frage zu sein. Gibt es für diesen Anwendungsfall bessere Lösungen als ein LaTeX-pdf-Dokument?

Textfelder zusammenführen für Formular

von Ulf » Mi 14. Okt 2020, 09:14

Hallo, ich möchte für ein Formular den Textinhalt mehrerer TextField zusammenführen. Dabei mache ich vermutlich irgendwas mit dem value={this.getField... nicht richtig. Kann mir jemand einen Hinweis geben, wie das richtig aussehen muss?

Danke und Grüße!

\documentclass[ngerman]{scrartcl}
\usepackage[utf8]{inputenc} 	
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
\usepackage[pdftex]{hyperref}

%%%%%
\begin{document}
\begin{Form}

\ChoiceMenu[combo]{Frage1}{Male,Female, Other}

\ChoiceMenu[radio, radiosymbol=\ding{96}, name=Frage2]{}{Option 1, Option 2, Option 3:} % Warum sieht das radiosymbol so komisch aus?

\TextField[name=Info1,width=3cm]{\mbox{Info 1:}}
\TextField[name=Info2,width=3cm]{\mbox{Info 2:}}

% Was ich will
% Textfeld: {value[Frage1]}-{value[Frage2]}-{value[Info 1]}-{value[Info2]}
% In rein Text: [Male-Option 1-Info 1-Info2]
\TextField[readonly=true,name=Zusammengesetzt,value={this.getField("Frage1")-this.getField("Frage2")-this.getField("Info1")-this.getField("Info2")}]{String} % das ist vermutlich falsch

\CheckBox[name=Frage2]{Eins?} % so ungefaehr sollten die radio buttons aussehen

\end{Form}
\end{document}

Nach oben