苹果iOS捷径(快捷指令)自动填写表单

苹果iOS用户可以通过捷径(快捷指令)快速完成表单填写以提高工作效率。本文主要介绍如何通过捷径(快捷指令)调用 JavaScript 在网页运行的方式快速填写表单。

效果展示:

在这里插入图片描述

捷径(快捷指令)在网页上运行JavaScript 脚本基本格式:

var result = [];

// JavaScript代码

// 调用 Completion 以完成
completion(result);

以疫情期间在校生出入校园申请表为例:

在这里插入图片描述

首先分析表单所需要填写的信息类型,在本例中,类型主要有文本框、单选按钮、时间选择器:

1. 文本框

文本框
对于文本框,我们可以通过定位文本框对应id,通过定义value的形式为文本框赋值。

document.getElementById('ZY').value="需要填写的内容";

2. 单选按钮

单选按钮
面对单选按钮,改变选择器样式并不能将内容最终插入最后提交的表单中,我们需要用到JavaScript的点击动作。

var event = new MouseEvent('click');

var XQ_click = document.getElementsByClassName('van-radio van-radio--horizontal')[1];

XQ_click.dispatchEvent(event);

基本逻辑为:定义点击事件(MouseEvent继承自UIEvent)——定位选择按钮——实现点击。

关于定位选择按钮,这里再强调一下,对于没有独立id的选择按钮,可以通过其在ClassName中的具体位置序号予以定位。

3. 时间选择器

时间选择器
时间选择器数据的填写,我们可以直接使用捷径(快捷指令)的 当前日期功能:

在这里插入图片描述

document.getElementById('JTSDJS').value="当前日期";
  1. 手动选择时间以获取时间表达格式:
    在这里插入图片描述
  2. 在捷径(快捷指令)中将出发时间的当前日期参数格式设置为 yyyy-MM-dd HH:mm,返校时间的当前日期参数格式设置为 yyyy-MM-dd 23:00,即表示出发时间为填表时间,返校时间为当天的23:00
    在这里插入图片描述

值得注意的是:

在这里插入图片描述
这个表单内的元素全部位于idformIframeiframe内,因此在定位表单元素前还需要定位表单:

parent.document.getElementById(“formIframe”)

完整脚本:

var result = [];

parent.document.getElementById("formIframe").contentWindow.document.getElementById('ZY').value="需要填写的内容";
parent.document.getElementById("formIframe").contentWindow.document.getElementById('NJ').value="需要填写的内容";
parent.document.getElementById("formIframe").contentWindow.document.getElementById('BJ').value="需要填写的内容";
parent.document.getElementById("formIframe").contentWindow.document.getElementById('LXFS').value="需要填写的内容";
parent.document.getElementById("formIframe").contentWindow.document.getElementById('SZSS').value="需要填写的内容";
parent.document.getElementById("formIframe").contentWindow.document.getElementById('QJWCSY').value="需要填写的内容";
parent.document.getElementById("formIframe").contentWindow.document.getElementById('JTGJD').value="步行";
parent.document.getElementById("formIframe").contentWindow.document.getElementById('JKZK').value="健康";
parent.document.getElementById("formIframe").contentWindow.document.getElementById('JTSDKS').value="当前日期";
parent.document.getElementById("formIframe").contentWindow.document.getElementById('JTSDJS').value="当前日期";

//MouseEvent继承自UIEvent
var event = new MouseEvent('click');

var XQ_vant_click = parent.document.getElementById("formIframe").contentWindow.document.getElementsByClassName('van-radio van-radio--horizontal')[1];
var ZXTY_vant_click = parent.document.getElementById("formIframe").contentWindow.document.getElementsByClassName('van-radio van-radio--horizontal')[2];
var SFLJ_vant_click = parent.document.getElementById("formIframe").contentWindow.document.getElementsByClassName('van-radio van-radio--horizontal')[5];

XQ_vant_click.dispatchEvent(event);
ZXTY_vant_click.dispatchEvent(event);
SFLJ_vant_click.dispatchEvent(event);

// 调用 Completion 以完成
completion(result);

至此,本文也就进入尾声了。希望本文能够起到抛砖引玉之效,也欢迎大家的批评交流。


如果您有任何疑问或者好的建议,期待你的留言、评论与关注!

评论 76
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

邓大帅

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值