【发布时间】:2015-01-10 00:49:50
【问题描述】:
我有一个自动输入用户信息的 Greasemonkey 脚本。但是在提交表单之前,这些字段必须是焦点(我认为他们使用 AngularJS 来验证是否输入了有效的姓名/电子邮件)。所以在我的代码中我这样做:
document.getElementById('name').value = "Name here"; //Enter name in field
document.getElementById('name').focus(); //Focus on the field
这工作正常,但仅当窗口处于活动状态时。如果窗口未激活,它将输入名称但该字段不会成为焦点(因此无法提交)。是否有任何修改可以解决此问题?
编辑:我很难提供示例,因为代码必须从非活动窗口运行,但这里是输入字段的代码。
<input id="namefield[name]" name="name" ng-model="nameField.form.name" ng-pattern="nameRegex()" placeholder="John Doe" required="" style="width: 246px" type="text" class="ng-valid-pattern ng-dirty ng-valid ng-valid-required">
【问题讨论】:
-
这道题还是不完整的;我们没有足够的信息来复制问题。如果下面的答案不起作用,那么页面正在动态改变焦点(或目标节点),你真的必须提供对有问题页面的访问权限,或者将其缩减为一个简洁的、公开发布的示例,展示相同的行为。
标签: javascript angularjs forms greasemonkey