// src/Ajax/FormResetCommand.php
namespace Drupal\modulename\Ajax;
use Drupal\Core\Ajax\CommandInterface;
class FormResetCommand implements CommandInterface {
protected string $form_selector;
public function __construct(string $form_selector) {
$this->form_selector = $form_selector;
}
public function render(): array {
return [
'command' => 'invoke',
'selector' => $this->form_selector,
'method' => 'trigger',
'args' => ['reset'],
];
}
}
Використання:
$response = new AjaxResponse();
$response->addCommand(new FormResetCommand('#my-form-id'));
return $response;
Кейс - після сабміту показуємо користувачу повідомлення у діалозі та скидаємо форму, щоб не було бажання ще раз відправити.
Коментарі