0

So I'm trying to programmatically edit a textbox in a webpage through chromes developer console.

This is the code of the textbox.

<input formcontrolname="username" placeholder="Username" type="text" required="" class="form-control ng-untouched ng-pristine ng-invalid"> 

And here is my code to edit the textbox

document.forms[0].elements[0].id = "boxUsername"; document.getElementById("boxUsername").value = "My value"; 

Though when I try to log in afterward when the textbox visually has text in it. the page says that the textbox is null and there is no text in it. I'm very confused why this is happening considering the autofill function on chrome sets the value correctly and allows me to log in but when I'm trying to do it manually it won't work.

The page is made with Angular if that is important

4
  • because there is binding in the framework code and setting the value with JavaScript directly does not trigger that code.CommentedJan 4, 2022 at 17:25
  • @epascarello is there any way to possibly do this?CommentedJan 4, 2022 at 17:28
  • 1
    going to be either key event or input. Not sure which it is with Angular, sure there are dupes out there const input = document.forms[0].elements[0]; input.value= "foo"; input.dispatchEvent(new KeyboardEvent('keyup', { key: 'Enter', }));CommentedJan 4, 2022 at 17:32
  • @epascarello sadly neither of those worked. I've been looking for another way for a whileCommentedJan 4, 2022 at 18:02

0

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.