この記事では、kwesformsとRiveを統合してAstro Webサイト内に動的でインタラクティブなフォームを作成する方法を示しています。 カスタムイベントは、フォームアクションに基づいてRiveアニメーションをトリガーし、ユーザーエクスペリエンスを向上させます。
完全なコードの例とライブプレビューが利用可能です:
? [プレビューリンク](プレビューリンクのプレースホルダー)
Astroのセットアップは、CLIまたは手動インストールを介して実行できます。
(in)とindex.astro
(insrc/pages
)を作成します。 rive-form.astro
:src/components
にrive-form
を含めます
index.astro
// src/pages/index.astro --- import RiveForm from '../components/rive-form.astro'; --- <RiveForm />
kwesformsは、クライアント側とサーバー側のフォームの検証を簡素化します。 kwesformsスクリプトを含めます(
を使用してアストロ処理を防ぐ):
is:inline
// src/components/rive-form.astro <🎜>
data-kw-rules
// src/components/rive-form.astro <form id="riveForm" class="kwes-form flex flex-col gap-6" action="https://kwesforms.com/api/foreign/forms/abc123" data-kw-no-reload> {/* Form fields with data-kw-rules attributes */} <button type="submit">Send Message</button> </form>
riveアニメーションは
ファイルとしてインポートされます。 Astro's
.riv
riveアニメーション(「アニメーションログイン文字」など)をダウンロードし、astro.config.mjs
ディレクトリに配置します。 Riveを初期化して
// astro.config.mjs import { defineConfig } from 'astro/config'; export default defineConfig({ vite: { assetsInclude: ['**/*.riv'], }, });
public
rive-form.astro
// src/components/rive-form.astro <🎜> <🎜>
イベント処理とアニメーション:
イベントリスナーをフォーム要素に追加します(kwesformsと標準のJavaScriptイベントを使用)。 関数はRive State Machinesにアクセスします:
getTrigger
// ... inside the <script> tag in rive-form.astro const getTrigger = (name) => { return r.stateMachineInputs('Login Machine').find((input) => input.name === name); }; // Example event listener form.addEventListener('kwHasErrors', () => { const trigger = getTrigger('trigFail'); trigger.fire(); });
プレビューとリポジトリへの実際のリンクにプレースホルダーリンクを置き換えることを忘れないでください。 また、すべてのコードスニペットがrive-form.astro
ファイルに正しく統合され、Riveアニメーションやその他のリソースへのパスが正確であることを確認してください。
以上がKwesformsとRiveでアストロサイトを明るくしますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。