javascript - 修改表单中特定字段的最佳方法是什么?

标签 javascript forms google-chrome-extension google-calendar-api

具体来说,我想做的是出于我自己的目的“更改”Google 日历字段条目中的字段之一。也就是说,该位置几乎总是四个位置之一,但谷歌日历的设置方式不会跟踪经常输入的信息,并且每次都写下完整的地址(或将带有 4 个地址的笔记文件保存到C&P) 有点烦人。

我想理想的是一个“扩展”或脚本,它会自动检测到我正在填写 Google 日历事件条目,并将位置字段更改为包含我经常使用的四个地址以及“其他” "选项。

另一种可能是某种小书签(或一组 4 个)来填充位置字段。

我真的不知道从哪里开始或哪种方法会更好(该死,很可能还有第三种更好的选择)。

PS:如果这在 Firefox 或其他一些浏览器而不是 Chrome 中更容易/更有效地完成,那也很好。

最佳答案

我会选择小书签。这是给定当前 Google 日历页面(“Where”输入的 ID 为“:1u”)的潜在 URL 设置地址:

javascript:document.getElementById(':1u').value='123 Some st.'; void(0);

我会为您的 4 个地址中的每一个使用与上述类似的 URL 编写书签,然后将它们放入一个易于访问的文件夹中,并在您每次要填充该地址时使用它们。

更新:

由于ID变了,可以通过类名获取。但是,如果类别更改或 Where 字段更改之前的输入数量,您将必须更新您的链接:

javascript:document.getElementsByClassName('textinput')[1].value='123 Some st.'; void(0);

更新 2:

显然,在保存日历项时,Google 不会考虑文本框的当前值。我通过在更新文本框的值后手动触发“更改”事件来解决此问题。以下目前在 Firefox 中有效:

javascript:var a=document.getElementsByClassName('textinput')[1];a.value='123 Some st.';var e=document.createEvent("HTMLEvents");e.initEvent('change',true,true);a.dispatchEvent(e);void(0);

关于javascript - 修改表单中特定字段的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6599364/

相关文章:

forms - 您使用哪些应用程序通过 ODBC 进行数据输入和检索?

javascript - 检测浏览器扩展是否在 Chrome 或 Firefox 上运行的最佳实践?

javascript - 如何将自动尺寸图像元素紧紧包裹在容器中?

javascript - 使用谷歌文件列表如何只显示我拥有的文件夹而不是共享文件夹?

ASP.NET 表单 - 表单名称\id 更改为 aspnetForm

c# - 我的 Windows 窗体应用程序在关闭后仍在作为任务运行

node.js - google chrome 扩展中远程 Node 服务器上的 socket.io

google-chrome - 如何在谷歌浏览器中制作工具栏?

javascript - 如何将switch语句中的模板字符串与js匹配?

javascript - 如何使用 Javascript 在 <div> 中添加数据动画 ="fadeinup"