[GastForen Programme Web/Internet PDF Grundlagen / Web / eForms Textfeld automatisch einfügen

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Web/Internet - Webdesign, eForms
Themen
Beiträge
Moderatoren
Letzter Beitrag

Textfeld automatisch einfügen

Scampi
Beiträge gesamt: 102

12. Mär 2011, 15:20
Beitrag # 1 von 5
Bewertung:
(3873 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Gemeinde,

mit folgendem Script füge ich ein Textfeld ein, in dem dann, der Speicherpfad angezeigt wird. Funktioniert auch, aber leider nur auf der ersten Seite. Das Textfeld soll aber auf alle existierenden Seiten in dem Formular erscheinen. Was mache ich falsch? Wäre schön wenn jemand Rat wüßte.

----------------------------------------------------------

var inch = 72; // Ein Inch sind 72 Punkte

for (var p = 0; p < this.numPages; p++) { // Unbekannt

var aRect = this.getPageBox( {nPage: p} ); // Unbekannt

aRect[0] += .78*inch; // Abstand von der linken Kante der Seite, in Inch angegeben

aRect[2] = aRect[0]+6.9*inch; // Die Länge des Textfeldes

aRect[1] -= 11.15*inch; // Abstand von der oberen Kante der Seite

aRect[3] = aRect[1] - 24;// and 24 points high // Höhe des Textfeldes
}

f = this.addField("Text1", "text", this.pageNum, p, aRect); // Name des Textfeldes (Text1)

f.strokeColor = color.black; // Farbe der Textfeldumrandung

this.getField("Text1").value= "Der Dateipfad dieser Datei lautet: "+this.path;

--------------------------------------------------------------

VG Scampi
X

Textfeld automatisch einfügen

taunus11
Beiträge gesamt: 609

13. Mär 2011, 10:23
Beitrag # 2 von 5
Beitrag ID: #466853
Bewertung:
(3835 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Wenn für den dritten Parameter von addField nur die aktuelle Seite (this.pageNum) verwendet wird, wird das Feld auch nur auf der aktuellen Seite hinzugefügt.

Bernd Alheit


als Antwort auf: [#466838]

Textfeld automatisch einfügen

Max Wyss
Beiträge gesamt: 532

13. Mär 2011, 12:47
Beitrag # 3 von 5
Beitrag ID: #466861
Bewertung:
(3822 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Dass

f = this.addField("Text1", "text", this.pageNum, p, aRect);

überhaupt funktioniert, grenzt an Zufall. Die addField() Methode hat vier Argumente...

Korrektur: "his.pageNum," herausnehmen, und dann funktioniert es schon etwas besser. Wir befinden uns ja in einer Schleife über alle Seiten.

Um sehr schwierig zu lokalisierende Probleme zu verhindern würde ich zudem empfehlen, für die Feldvariable (f) einen anderen Namen zu verwenden, und entweder diese sauber zu definieren (var....). Dies kann entweder ausserhalb der Schleife erfolgen, oder aber innerhalb der Schleife.

HTH.


als Antwort auf: [#466838]

Textfeld automatisch einfügen

Scampi
Beiträge gesamt: 102

13. Mär 2011, 19:25
Beitrag # 4 von 5
Beitrag ID: #466889
Bewertung:
(3797 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo,

vielen Dank an Bernd Alheit und Max Wyss, es ist sehr nett von Euch, das Ihr mir mit meinem Problem helfen wollt.
Mir fehlen leider die nötigen Scriptkenntnisse um Eure Vorschläge auch wirklich umsetzen zu können. Sorry.

Zum besseren Verständnis, ich habe folgendes Script in den API Referencen gefunden und dachte ich könnte es für meine Zwecke umbauen. Leider nur mit mäßigen Erfolg.

---------------------------------------------------------------

var inch = 72;
for (var p = 0; p < this.numPages; p++) {
// Position a rectangle (.5 inch, .5 inch)
var aRect = this.getPageBox( {nPage: p} );
aRect[0] += .5*inch;// from upper left hand corner of page.
aRect[2] = aRect[0]+.5*inch;// Make it .5 inch wide
aRect[1] -= .5*inch;
aRect[3] = aRect[1] - 24;// and 24 points high
// Now construct a button field with a right arrow from ZapfDingbats
var f = this.addField("NextPage", "button", p, aRect )
f.setAction("MouseUp", "this.pageNum++");
f.delay = true;
f.borderStyle = border.s;
f.highlight = "push";
f.textSize = 0;// Auto-sized
f.textColor = color.blue;
f.fillColor = color.ltGray;
f.textFont = font.ZapfD
f.buttonSetCaption("\341")// A right arrow
f.delay = false;
}

---------------------------------------------------------------

Ich habe Eure Vorschläge versucht umzusetzen, leider kommt immer eine Fehlermeldung im Debugger.
Es wäre sehr nett von Euch, wenn Ihr mir vielleicht, für Laien verständlich, es etwas genauer beschreibt oder wenn Möglich ein Beispiel hättet.

Vielen Dank
Scampi


als Antwort auf: [#466861]

Textfeld automatisch einfügen

Scampi
Beiträge gesamt: 102

13. Mär 2011, 21:21
Beitrag # 5 von 5
Beitrag ID: #466895
Bewertung:
(3780 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Nochmal Hallo,

ich habe es geschafft. Bin voll happy.

Mit folgendem Code funktioniert es.

------------------------------------------------------------------

var inch = 72;
for (var p = 0; p < this.numPages; p++) {

var aRect = this.getPageBox( {nPage: p});
aRect[0] += .78*inch;
aRect[2] = aRect[0]+6.9*inch;
aRect[1] -= 11.15*inch;
aRect[3] = aRect[1]-24;


var f = this.addField("Text1", "text", p, aRect )

f.delay = true;
f.borderStyle = border.s;
f.textSize = 0;
f.textColor = color.black;
f.strokeColor = color.black;
f.textFont = font.Helv;
f.delay = false;
}

this.getField("Text1").value= "Der Dateipfad dieser Datei lautet: "+this.path;

---------------------------------------------------------------

It is not real. (Lena)

Vielen Dank noch einmal für Eure Hilfe.

VG Merklin


als Antwort auf: [#466889]
X