数据输入后Javascript表单刷新的自动刷新

数据输入后Javascript表单刷新的自动刷新,javascript,html,forms,vbscript,Javascript,Html,Forms,Vbscript,我正在尝试通过VBScript自动填写web表单。我可以很好地填写表单,但是当我的脚本填写表单时,与手动填写表单时,会产生与表单不同的反应。表单应该根据我的输入计算BMI并启用“保存”按钮,但是,只有在我手动输入此数据时,它才会执行此操作。我需要触发导致此项检查的任何函数。问题是,我没有找到任何关于哪个函数在做这个的线索 以下是我用来填写字段的脚本: IE.Document.getElementsByTagName("input")("txtWeight").value = "170" Do U

我正在尝试通过VBScript自动填写web表单。我可以很好地填写表单,但是当我的脚本填写表单时,与手动填写表单时,会产生与表单不同的反应。表单应该根据我的输入计算BMI并启用“保存”按钮,但是,只有在我手动输入此数据时,它才会执行此操作。我需要触发导致此项检查的任何函数。问题是,我没有找到任何关于哪个函数在做这个的线索

以下是我用来填写字段的脚本:

IE.Document.getElementsByTagName("input")("txtWeight").value = "170"
Do Until IE.ReadyState = 4: WScript.sleep 15: Loop
以下是以编程和手动方式填写权重时处于这两种状态的表单和元素的示例。注意:元素中的保存按钮已禁用,BMI未计算:

以编程方式

下面是一个手动填写的示例,计算BMI并启用保存按钮(元素未显示“禁用”):

手动操作

以下是完整的HTML粘贴库:

或者我可以强制启动保存事件

return VHM.BioM.btnStMeasurementsSave_onclick()

我意识到这可能不太可能继续下去。可能很难获得这方面的帮助,因为在网站上达到这一点需要登录。如果这需要我没有提供的任何信息,请告诉我,我会抓住它。

尝试为您正在交互的字段应用
.focus()
和/或
.blur()
方法,它可能是分配给这些事件之一的处理程序,它执行计算并启用按钮。

使用此方法最终允许我实现所需:即document.getElementById(“btnStMeasurementsSave”)。removeAttribute(“已禁用”)


这将删除“disabled”属性,该属性启用save按钮并允许我保存。由于omega的解决方案一开始就解决了这个问题,他仍然对omega表示赞赏。

尝试对您正在交互的字段应用
.focus()
和/或
.blur()
方法,它可能是分配给这些事件之一的处理程序,它进行计算并启用按钮。根据您的建议,我尝试了这两种方法,也加入了。选择,但没有触发它。如果我在键盘上点击“回车”,它会计算并启用保存,但我真的不想使用sendkeys。如果我把我的登录凭据通过电子邮件发送给你会怎么样?事实上,我的完整脚本登录并填写此。。。在这个问题上遇到了障碍,所以没有进一步的进展。不,我错了。我错误地应用了你的建议。我再试了一次,成功了。我在填写字段后使用了.focus,一旦我在前面应用了focus,它就起作用了。非常感谢。因此,这只工作了一天,即.Document.getElementsByTagName(“输入”)(“txtWeight”)。focus,现在表单突然停止响应它。尝试按下、上键或按键,但全部出错。在此处找到:。像这样应用:IE.Document.getElementsByTagName(“输入”)(“txtWeight”).keydown。获取“不支持属性或方法”错误。我怎样才能毫无错误地应用它来查看它是否有效?thxOk。通过阅读:ie.document.dispatchevent(“按键”)。它不会出错,但也不起作用。。。它似乎在没有错误和进展的情况下终止了脚本。