这个问题很简单,但却让我抓狂。我正在尝试用tampermonkey的javascript注入在一个现有的网站上自动化一个任务。一切都很好,直到我试图改变一个表单中的一些输入字段的值,这个表单同时工作和不工作。
这是我试图设置值的元素:
<input type="text" name="fighter">
这是我用来做这个改动的代码:
document.querySelector("input[name='fighter']").value = 1;
奇怪的是,当我运行这段代码时,我可以在文本输入字段
中看到一个1,但如果我在表单上或页面上的任何地方按下前进键,数字就会消失,值也会被认为是空的,就像什么都没有发生一样。
如果我只是把光标放在输入字段上,然后用键盘输入,效果很好。例如,如果在一个字段中输入3,在另一个字段中使用JavaScript将值更改为5(这再次显示输入字段中的值),然后在表单上按Next,只有3会注册到表单提交中。
我可以读取值从输入字段时,写与键盘与选择器以上,它也工作正常。
如果我尝试使用.focus()方法,光标不会移动到输入字段。
我在网上找了很多,似乎没有发现同样的问题。如果有人有任何想法或需要进一步的信息,请让我知道。
我没有张贴网页,因为这是一个游戏,需要一个帐户和进展,才能看到。
1条答案
按热度按时间pw9qyyiw1#
您应该尝试设置表单字段的值,而不是元素的值。