Skip to content

非公式本サイトは非公式の日本語ドキュメントであり、Cloudflare 公式サイトではありません。最新情報はdevelopers.cloudflare.comをご確認ください。

Static Forms

最終更新 Markdown で表示Agent セットアップ

Static Forms Pages Plugin は、data-static-form-name 属性が設定されたすべてのフォーム送信を傍受します。これにより、送信内容を KV に保存するなど、フォーム送信に対して処理を実行できます。

インストール

npm i @cloudflare/pages-plugin-static-forms

使い方

import staticFormsPlugin from "@cloudflare/pages-plugin-static-forms";

export const onRequest: PagesFunction = staticFormsPlugin({
	respondWith: ({ formData, name }) => {
		const email = formData.get("email");
		return new Response(
			`Hello, ${email}! Thank you for submitting the ${name} form.`,
		);
	},
});
<body>
	<h1>Sales enquiry</h1>
	<form data-static-form-name="sales">
		<label>Email address <input type="email" name="email" /></label>
		<label>Message <textarea name="message"></textarea></label>
		<button type="submit">Submit</button>
	</form>
</body>

この Plugin は、respondWith プロパティを持つオブジェクトを 1 つ受け取ります。この関数は、formData プロパティ(FormData インスタンス)と name プロパティ(data-static-form-name 属性の名前)を持つオブジェクトを受け取ります。Response、または ResponsePromise を返す必要があります。この respondWith 関数内で、formData をシリアライズして KV 名前空間に保存するなどの処理を実行できます。

HTML フォームの methodaction 属性は設定する必要はありません。Plugin が自動で上書きし、送信を傍受できるようにします。

役に立ちましたか?