Javascript 设置document.activeElement.value在屏幕上显示值,但无法接受

Javascript 设置document.activeElement.value在屏幕上显示值,但无法接受,javascript,Javascript,有以下网页: 右上角有一个“登录”按钮。我在WebView控件中显示来自UWP应用程序(这实际上是一个JavaScript问题)的此页面,并在此页面上运行动态JavaScript脚本(通过调用InvokeScriptAsync())在当前选定字段中自动插入登录名或密码。运行的脚本如下所示: document.activeElement.value='" + value + @"'; 这是因为登录或密码在屏幕上正确显示,但当我单击“登录”按钮时,页面会告诉我“需要用户名(电子邮件地址)”和“需要

有以下网页: 右上角有一个“登录”按钮。我在WebView控件中显示来自UWP应用程序(这实际上是一个JavaScript问题)的此页面,并在此页面上运行动态JavaScript脚本(通过调用
InvokeScriptAsync()
)在当前选定字段中自动插入登录名或密码。运行的脚本如下所示:

document.activeElement.value='" + value + @"';
这是因为登录或密码在屏幕上正确显示,但当我单击“登录”按钮时,页面会告诉我“需要用户名(电子邮件地址)”和“需要密码”

如果我手动输入相同的值(或使用复制/粘贴),则不会出现错误


我在MS Channel 9登录页面上遇到了相同类型的错误,但大多数其他登录网页没有此问题。

在设置值后使用此代码
$(document.activeElement)。触发器('change')

除了上述答案之外,为了支持不同的网页,我最终使用了一些来自以下网站的
Javascript


输入字段具有多个事件侦听器,如
input
mousedown
等。这些可能会告诉你是否有人输入了内容。这可能是糟糕的设计,也可能是出于安全原因。你可以试试看。您可以右键单击并检查输入字段,查看它们有哪些事件(它们旁边的小
ev
按钮)。什么?您(服务器)是否自动填写密码?你不应该知道密码!堆栈溢出不是您的个人调试器。我们正试图建立一个好的问答库,这将在未来帮助人们。在你的问题中没有相关的代码,这使得它对未来的用处大大降低(而且这个链接在某个时候会消失,这也使得它毫无用处)。谢谢Landaida,这是最有用的答案,它为Comed.com的登录页面提供了窍门@Xufox,我会研究你关于事件的帖子,因为我在第9频道的登录页面上还有同样的问题。如果我发现了什么,我会发布一个答案。
if ("createEvent" in document)
{
    var evt = document.createEvent("HTMLEvents");
    evt.initEvent("change", false, true);
    document.activeElement.dispatchEvent(evt);
}
else
{
    document.activeElement.fireEvent("onchange");
}