Javascript 触发器字段验证

Javascript 触发器字段验证,javascript,jquery,Javascript,Jquery,我试图用一个greasemonkey脚本来填充一个网站。 这个网站有一些必填字段,如果没有填写,我无法提交表格 现在,我有以下问题: 我使用jQuery的.val填充必填字段。当我现在单击“提交”按钮时,即使是手动使用鼠标,也会显示一些必填字段没有填写。 当我用鼠标单击其中一个受影响的字段,然后再次单击submit按钮时,它接受该值并继续 我的问题是: 如何确定网站收听的是哪一个事件?或: 如何从脚本中触发字段验证 更新:我直接在Chrome的开发者工具控制台中尝试了以下命令: jQuery('

我试图用一个greasemonkey脚本来填充一个网站。 这个网站有一些必填字段,如果没有填写,我无法提交表格

现在,我有以下问题:
我使用jQuery的
.val
填充必填字段。当我现在单击“提交”按钮时,即使是手动使用鼠标,也会显示一些必填字段没有填写。
当我用鼠标单击其中一个受影响的字段,然后再次单击submit按钮时,它接受该值并继续

我的问题是:
如何确定网站收听的是哪一个事件?或:
如何从脚本中触发字段验证

更新:我直接在Chrome的开发者工具控制台中尝试了以下命令:

jQuery('#ext-comp-1080').click().focus().focusin()
                        .val('my value').change().blur().focusout()

通常,验证与
blur
事件关联

// set value
$(selector).val(value);

// trigger click
$(selector).click();

// trigger change or blur
$(selector).change();
在jQuery中,您将使用:

$('#thingToBlur').blur();
也就是说,我从未通过用户脚本触发过事件,所以我不确定它们是否会正确地命中
unsafeWindow
中的元素

如果需要强制在页面上运行JavaScript(包括在页面上触发事件),请参见以下问题:


因为在您使用
.val()
更改文件,然后单击某个字段并单击“提交”后,它很可能会侦听
更改
模糊
事件

// set value
$(selector).val(value);

// trigger click
$(selector).click();

// trigger change or blur
$(selector).change();

如果需要,您也可以进行方法链接。

也许可以查看哪个函数处理验证,并直接从用户脚本调用它?在
之后触发这些字段上的
事件。单击()。为了简单起见,我只需打开页面,启动Chrome的开发工具进行测试,并直接在控制台中输入代码。像这样,我相信你的链接中提到的问题不应该适用-我说的对吗?无论如何,因为我已经尝试过这些“明显的”事件,我问是否有办法找出,是什么触发了特定网站上的验证。如果常见的事情没有触发它,唯一的实际选择是阅读源代码…我用我正在使用的代码更新了我的问题。也许你看到了一些明显的东西。阅读代码-我尝试过这样做,但是没有事件处理程序,它们似乎是动态连接的。我甚至试图在运行时找出附加的处理程序,但在这里也没有运气。你知道还有什么地方可以看吗?或者,是否有一种技术允许我记录对网站内部状态(HTML或Javascript)的任何更改?谢谢,但根据我对Jeremy回答的评论,这在特定网站上不起作用。