2017-12-19 8 views
0

Wie kann ich einen Ereignisaufruf in JavaScript durch die PDF erreichen, wenn Sie auf einem bestimmten TextField die Eingabetaste drücken? (Alternativ: bei jedem Tastendruck in diesem spezifischen TextField-)JavaScript in PDF: TextField onAction Listener

Ich habe

versucht
this.getField("field1").addEventListener('input', myMethod); 

und

this.getField("field1").events.add(
{ 
    onEveryEvent: function() 
    { 
     myMethod(); 
    } 
}); 

aber beide funktionieren nicht.

Antwort

0

fand ich die Lösung (wie here beschrieben):

Zuerst mit dem PDField.setPartialName(String name) -Methode einen Teil des Namens für das Feld zu setzen, zum Beispiel myField.setPartialName("myField1");. Dann können Sie über das JavaScript im PDF auf das Feld zugreifen.

Verwenden Sie jetzt die setAction(..., ...) -Methode, um Ihre Aktion/Ereignis/Listener einzustellen. Zum Beispiel: this.getField("myField1").setAction("Validate", "myMethod()");

Bitte beachten Sie, dass das zweite Argument tatsächlich eine Zeichenfolge und keine Methode ist. Auch: "Validate" ist nicht nur ein Name und wahrscheinlich nur einer von vielen action/event-strings. Leider weiß ich nicht, was diese anderen Saiten sind. "Validate" ist aus dem docs Beispiel und Trigger (zumindest), wenn

  • das Feld den Fokus verliert und hat Wert in der letzten Fokus geändert
  • Sie seinen Wert ändern, und drücken Sie
+1

eingeben Klingt wie Sie gefunden die Antwort selbst, aber um zu beantworten, welche anderen Aktionen/Ereignisse Sie an .setAction() übergeben können, ist die "Javascript für Acrobat API Reference" erforderlich. Finden Sie es hier: http://www.adobe.com/devnet/acrobat/javascript.html –