我正在尝试使用greasemonkey脚本填充网站。 本网站有一些必填字段,如果没有填写,我无法提交表格。
现在,我有以下问题:
我使用jQuery' s .val
填写必填字段。当我现在单击提交按钮 - 甚至用鼠标手动 - 然后它表示没有填写一些必填字段。
当我使用鼠标单击其中一个受影响的字段,然后再次单击“提交”按钮时,它接受该值并继续。
我的问题是:
我如何确定网站收听哪个活动?或者:
如何从脚本中触发字段验证?
更新:我在Chrome的开发者工具'中直接尝试了以下命令。控制台:
jQuery('#ext-comp-1080').click().focus().focusin()
.val('my value').change().blur().focusout()
答案 0 :(得分:0)
大多数情况下,验证与blur
事件有关。
在jQuery中,您将使用:
$('#thingToBlur').blur();
那就是说 - 我从未通过UserScript触发事件,因此我不确定他们是否会正确地点击unsafeWindow
中的元素。
如果您需要在页面上强制运行JavaScript(包括在那里触发事件),请参阅此问题:
UserScripts & Greasemonkey: calling a website's JavaScript functions
答案 1 :(得分:0)
由于您使用.val()
更改文件后再单击一个字段并单击提交,因此很可能会收听change
或blur
事件。
// set value
$(selector).val(value);
// trigger click
$(selector).click();
// trigger change or blur
$(selector).change();
如果你愿意,你也可以进行方法链接。