Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: consistently set value to blank string when value attribute is undefined #15057

Merged
merged 2 commits into from
Jan 22, 2025

Conversation

theodorejb
Copy link
Contributor

@theodorejb theodorejb commented Jan 19, 2025

Previously there was an inconsistency where a value attribute (correctly) wasn't set if initially undefined (resulting in the input value being a blank string), but if the value attribute was first set to a non-nullish value, and then changed to undefined, then the string "undefined" would appear as the input value, rather than the expected empty string.

Fixes #4467

@Rich-Harris
Copy link
Member

preview: https://svelte-dev-git-preview-svelte-15057-svelte.vercel.app/

this is an automated message

Copy link
Contributor

Playground

pnpm add https://pkg.pr.new/svelte@15057

Copy link

changeset-bot bot commented Jan 19, 2025

⚠️ No Changeset found

Latest commit: 3d10f41

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@theodorejb
Copy link
Contributor Author

@dummdidumm Can you review this?

We ran into bugs from this where an input value was set from an optional URL param. E.g:

<input name="address" value={params.address} />

This appears to work great at first, since when the parameter isn't set initially the input is blank, and when the parameter is added it is displayed as expected in the input. But if a subsequent navigation removes the parameter after it had been set, the input unexpectedly shows "undefined".

@dummdidumm
Copy link
Member

Looks good, thanks! Add a changeset and we're good to merge 👍

@dummdidumm dummdidumm merged commit c2e805f into sveltejs:main Jan 22, 2025
10 checks passed
@github-actions github-actions bot mentioned this pull request Jan 22, 2025
@theodorejb theodorejb deleted the undefined-value branch January 22, 2025 20:24
@github-actions github-actions bot mentioned this pull request Jan 25, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

undefined value on input and other elements
3 participants