Javascript 如何在不重新加载网页或更改html的情况下自动填写网页上的表单

Javascript 如何在不重新加载网页或更改html的情况下自动填写网页上的表单,javascript,jquery,html,forms,knockout.js,Javascript,Jquery,Html,Forms,Knockout.js,我的很多工作都要求我在网上填写表格,每次填写的信息都是唯一的,但其他人给我的信息类型(如姓名、出生日期)是相同的 我一直在试图找到一种方法,使用提供给我的数据自动填写表格 我为我的学位学了一点编码,但从那以后就没用过,我正在努力学习更多!(显示了一些C++、HTML、CSS和JavaScript,但后者大部分是复制粘贴的,而且我记不太清楚。 我已经确定了表单每个部分的所有html id标记,并认为如果我在URL的末尾粘贴以下代码,那么它将填充姓氏框(如果这样做可行,我可以推断信息),但这会询问页

我的很多工作都要求我在网上填写表格,每次填写的信息都是唯一的,但其他人给我的信息类型(如姓名、出生日期)是相同的

我一直在试图找到一种方法,使用提供给我的数据自动填写表格

我为我的学位学了一点编码,但从那以后就没用过,我正在努力学习更多!(显示了一些C++、HTML、CSS和JavaScript,但后者大部分是复制粘贴的,而且我记不太清楚。 我已经确定了表单每个部分的所有html id标记,并认为如果我在URL的末尾粘贴以下代码,那么它将填充姓氏框(如果这样做可行,我可以推断信息),但这会询问页面是否要重新加载

?Javascript:document.getElementById("txtLastName").value="Davy";
这是因为启动表单的第一步是选择表单是否适合我们向其他地方发送数据,或者我们是否向其他机构请求数据。在决定这一点时,必须开始键入以搜索机构,一旦确认,表格就会出现(无论选择哪个选项,表格几乎相同)

查看html的这一部分,我发现页面使用了KO-Knockout,并开始怀疑我是否已经咬得太多了

<div class="input-widget col0 semiwide required lookup notsearchable" data-bind="css: selectedInstitutionId.mandatoryFieldClass, visible: !destIndividualVisible()">
                    <label id="txtInstitution-label" for="txtInstitution" data-bind="text: instLabel">Destination institution</label>
                    <input name="txtInstitution" tabindex="3" class="input-field text" id="txtInstitution" type="text" maxlength="300" placeholder="Browse or start typing" autocomplete="off" data-bind="typeahead: {source: getData, afterSelect: afterSel},  value: selectedInstitution, valueupdate: 'afterkeydown', placeholder: browseOrTypePH,  disable: disableCtrl">
                    <input class="lookup" id="btnBrowse" type="button" value="Browse" data-bind="value: browseLabel, visible: !relatedSectionsVisible(), click: browseClicked">
                    <span class="validationMessage" style="display: none;" data-bind="text: noInstFound, visible: noInstFound"></span>
                    <input id="hdnInstitutionId" type="hidden">
                </div>

目的地机构

现在,我想我会尝试在页面上运行一个脚本,一旦我选择了机构位置并且表单已经加载,但不确定如何在URL中或通过单击带有javascript的书签而不重新加载页面

我研究了AJAX作为这个问题的解决方案,但不确定如何使用它,因为我显然(?)无法更改网站的源代码,以使其使用我自己的脚本运行

目前,我希望填写表单的信息以不同的布局/格式通过电子邮件发送给我,但我的工作场所将很快转移到一个系统,在该系统中,对于这些类型的重复请求,由请求用户填写表单。我不完全确定这些数据将如何呈现给我们,但通过搜索,我希望这些数据将呈现在html网页的表格行中。我已经看到,如果我可以将其解析为excel,那么我可以将其格式化为csv,以创建一行javascript来运行,但再次不确定这是否可能,因为前面提到的我们在网页上的淘汰,如果这样做不会节省这么多步骤的时间

我同意整个过程不是自动的,因此我们可以控制确保信息正确提供。我知道最终用户提供的机构名称之间经常存在很多差异,我认为自己手动输入这些名称,然后填写表单的其余部分会更容易。(尽管我也认为,当新系统出现时,可以提供一个下拉菜单,列出可能的机构,这将与网站上的机构同步,使我能够轻松解析这些信息,并绕过淘汰/页面重新加载障碍)


我认为我无法在我的工作场所安装任何有助于实现这一目标的软件,并且我不想了解更多代码。

如果您已经确定了要填充的html元素,您可以在Selenium工具的帮助下自动化您的过程。如果您有一些编码知识,就很容易掌握。下面是它的链接。

“在不重新加载页面的情况下单击带有javascript的书签”-可能会涵盖这一点。剩下的(我怀疑)大部分都是离题的,考虑到你花了多少时间来写它,这真是太可惜了@不幸的是,当你提到淘汰赛时,你已经偏离了主题。请查看帮助中心关于堆栈溢出问题的内容:如果您对提交过程有更多了解,可以跳过中间人(表单)。你有这个页面的链接吗?这可能是通过csv或类似文件类型的解析或POSIX的变体完成的。谢谢。我在其他地方发现了这一点,但不确定是否将其视为怀疑我是否能够获得在工作中安装它的许可,但我将在家中查看它,看看我可以从中学到什么,也许可以在不需要软件的情况下使用代码,让它在工作场所工作!不客气,艾希礼。祝你一切顺利。