Ich habe ein Formular zum Hinzufügen von Knoten mit einem Begriff, der das Widget für die automatische Vervollständigung verwendet.
Ich möchte die "Nachricht" des gefüllten Begriffs vom Benutzer mithilfe des Widgets für die automatische Vervollständigung.
javascript
ajax
sel_space
quelle
quelle
Drupal 7 und 8 bieten zu diesem Zeitpunkt die automatische Generierung von jQuery-Ereignissen ohne benutzerdefinierten Code.
In Drupal 7 wurde das
autocompleteSelect
Ereignis in der Drupal-Ausgabe Nr. 365241 hinzugefügt . (Clive erwähnte, dass dies im Gange war, als er seine Antwort veröffentlichte.)Drupal 8 verwendet das Widget für die automatische Vervollständigung der jQuery-Benutzeroberfläche . Das
autocompleteclose
Ereignis ist das jQuery-UI-Ereignis, das dem D7-autocompleteSelect
Ereignis am ähnlichsten ist . In D8autocompleteselect
wird auch das jQuery UI- Ereignis ausgelöst, aber ein Ajax-Rückruf erhält keine aktualisierten Formularstatuswerte.autocompleteclose
Rückrufe werden mit aktualisierten Formularstatuswerten bereitgestellt, was normalerweise gewünscht wird.Wie aus den anderen Antworten hervorgeht, können Sie die Ereignisdaten im Client-Browser mithilfe eines jQuery on- Ereignishandlers oder von Drupal.behaviors ( Drupal 7 , Drupal 8 ) verwenden. In Drupal 7 würden Sie das
autocompleteSelect
Ereignis verwenden und in Drupal 8autocompleteclose
.Wenn Sie den Wert in Ihrem PHP-Code benötigen, kann ein Ajax-Rückruf verwendet werden. Hier finden Sie einige Anweisungen dazu in Drupal 7 oder in Drupal 8 .
quelle
Ich musste ein Verhalten verwenden, damit es funktioniert (dank des von Clive erwähnten Problems und dieses Kommentars: https://www.drupal.org/node/365241#comment-9575707 ):
quelle
In Drupal 8 hat sich dies verschoben. Sie können die Funktionalität mit dem folgenden Code überschreiben.
Überschreibt den Code in
core/misc/autocomplete.js
.Dann können Sie in Ihrem Code hören
quelle