Communities

Writing
Writing
Codidact Meta
Codidact Meta
The Great Outdoors
The Great Outdoors
Photography & Video
Photography & Video
Scientific Speculation
Scientific Speculation
Cooking
Cooking
Electrical Engineering
Electrical Engineering
Judaism
Judaism
Languages & Linguistics
Languages & Linguistics
Software Development
Software Development
Mathematics
Mathematics
Christianity
Christianity
Code Golf
Code Golf
Music
Music
Physics
Physics
Linux Systems
Linux Systems
Power Users
Power Users
Tabletop RPGs
Tabletop RPGs
Notifications
Mark all as read
Q&A

Why would a form value inserted with value property won't be effective? [closed]

+0
−3

Closed as unclear by Alexei‭ on Dec 1, 2021 at 13:38

This question cannot be answered in its current form, because critical information is missing.

This question was closed; new answers can no longer be added. Users with the reopen privilege may vote to reopen this question if it has been improved or closed incorrectly.

In a website I didn't build, I want to put a value in an HTML input field element with JavaScript and to also use it as-putted.

I can put it with the browser console this way:

document.querySelector("#example").value = "X";

But, the value isn't effective (isn't recognized by the form) unless actually typed with the keyboard or pasted.

What may cause that problem?

Why does this post require moderator attention?
You might want to add some details to your flag.
Why should this post be closed?

2 comment threads

Well, you didn't provide any context on what HTML document / website you are actually trying this... (2 comments)
Maybe - and that's a *wild guess* - the JavaScript code is running before the HTML is loaded, and it ... (3 comments)

1 answer

+0
−0

It works fine for me.

Here's a minimal working example:

<!DOCTYPE html>
<html>
<body>
<form>
<input type="text" name="field" id="field" value="old value">
<input type="button" value="change"
  onClick="document.querySelector('#field').value = 'new value';">
<input type="button" value="display"
  onClick="alert(document.querySelector('#field').value);">
</form>
</body>
</html>

When I open that document in Firefox and simply click "display", "old value" is displayed in the alert popup. When I click "change" and then "display", "new value" is likewise displayed. When I manually change the value in the input text field and click "display", the value I entered is likewise displayed.

Therefore, what you are seeing is either something not mentioned at all in the question (such as perhaps a misused validation framework interfering with the update), or a bug in your browser. Take your pick as to which is more likely.

I recommend that you go back to the very basics, then work your way up to wherever the problem starts to happen. Whatever change you made last is then the cause of the problem.

Why does this post require moderator attention?
You might want to add some details to your flag.

1 comment thread

There are no "very basics" I went beyond; I have done a simple action and got a result different than... (1 comment)