我目前正在开发 Safari 扩展,以根据网站内提供的信息创建可打印的表单。自定义 CSS 样式表并不理想,相反我希望可以执行以下操作...
如果我在名为 name.html 的页面上有以下 DIV
<div id="name">John</div>
有没有办法获取 #name 的内容并将其传递到另一个名为 form.html 的页面中的文本字段?理想情况下,避免服务器端脚本?
最佳答案
要检索元素的文本(如所有文本,包括子节点):
var value = document.getElementById('name').textContent;
然后将文本分配给另一个页面中的输入字段:
document.getElementById('myField').value = value;
当然,这不能跨页面工作。如果您不想为此使用服务器端代码,一种简单的方法是将代码传递到查询字符串中,重定向到表单页面,然后从查询参数中检索变量。这听起来比实际上更简单,因为您需要一个函数 add a query parameter ,另一封到read a query parameter ,并确保一切都是 encoded and decoded properly .
另一个 - 坏 - 替代方案可能是 use cookies via JavaScript .
另一个 - 更好但尚未广泛 - 替代方案可以使用 WebStorage API 。 (参见 localStorage 和/或 sessionStorage )。这将需要支持这些 API 的现代浏览器(例如 Google Chrome、IE9、Firefox 4 等)
嵌入的链接将提供缺失的部分。
关于javascript - 使用Javascript在DIV中查找文本,插入HTML表单?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3968648/