首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将值输入输入(用户名、密码、电子邮件等)并使用javascript提交

将值输入输入(用户名、密码、电子邮件等)并使用javascript提交
EN

Stack Overflow用户
提问于 2018-08-29 11:45:28
回答 1查看 263关注 0票数 0

我正在做扩展工作,我需要将用户名/电子邮件和密码放到字段中,然后提交。

我已经在很多网站上实现了这一点,但我有困难,在少数网站,如"https://app.hubspot.com/login/“完成它。

当我使用javascript/Jquery的".val()“方法放置值时,我会将该值显示到用户名输入中,但是通过检查元素,value属性将保持空白。

我甚至尝试使用javascript的"setAttribute()“方法放置属性。

我已经设法将该值放置到textbox中,但当我单击用户名textbox时,该值将为空。

除了用户名文本框之外。如果我尝试将值放入密码字段,它不会在焦点或模糊处出现空白,但是使用javascript放置值并不会使登录按钮可点击。但当我用键盘打字时。一切都是正常的,就像它预期的那样。唯一的问题是可以通过javascript登录。

当我试图触发单击事件时,它什么也不做。当我试图直接开火的时候,它什么也做不了。当我试图激发,但找到最接近的形式元素,然后提交它只是刷新。

我甚至尝试使用以下方法来模拟输入

代码语言:javascript
复制
            var item = jQuery("#username");
            jQuery(item).focus();
            jQuery(item).keydown();
            jQuery(item).keypress({which: 'A'.charCodeAt(0)});
            jQuery(item).keyup();
            jQuery(item).change();
            jQuery(item).blur();

我现在不知道我需要做什么来实现这几个网站。

请注意:-我已经在浏览器控制台中尝试了所有这些,

我真的很感激你的时间和帮助

非常感谢大家。

EN

回答 1

Stack Overflow用户

发布于 2018-08-29 12:13:32

据我对这个网站的理解,https://app.hubspot.com/login/是使用React开发的,通过使用javascript/Jquery直接针对元素来修改DOM无助于帮助,因为react保持了一个虚拟的dom,它在每次更改时都会更新它,最后将其与真实的dom进行比较,并将缺失的更改应用到真实的dom中。

在您的示例中,当您通过javascript/Jquery针对任何元素并更改任何值时,您正在更新的是真正的dom,但是这些更改在虚拟dom中没有得到更新,因此当您开始手动与站点交互时,您的更改不会反映出来。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52076670

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档