Use Nuklē with vanilla JavaScript
For a plain HTML site, use the browser-safe clients from a module script. A website API key can read only public website content and media.
Submit a form from HTML
This example imports the SDK from an ESM CDN and submits one public form. Pin the package version when you publish.
<form id="contact-form">
<label>
Email
<input name="email" type="email" required />
</label>
<label>
Message
<textarea name="message" required></textarea>
</label>
<button type="submit">Send message</button>
</form>
<script type="module">
const contact = createNukleFormClient({
formKey: 'nukle_form_your_public_key',
});
document.querySelector('#contact-form').addEventListener('submit', async (event) => {
event.preventDefault();
const values = new FormData(event.currentTarget);
await contact.submit({
email: values.get('email'),
message: values.get('message'),
});
});
</script>
Read content on a plain HTML site
Use createNukleClient directly when all enabled content and media are intended
for visitors. The key cannot change content, forms, or submissions. Use a
server endpoint instead when a page needs private data.