如何根据来自另一个 HTML 页面的链接预填充文本区域

Posted

技术标签:

【中文标题】如何根据来自另一个 HTML 页面的链接预填充文本区域【英文标题】:How To Prefill A Text-Area Based On A Link From Another HTML Page 【发布时间】:2017-04-09 14:45:38 【问题描述】:

我现在在一个网站上工作,其中一个页面只是一个 div 列,其中包含指向网站上另一个页面的链接。这个其他页面有用于过滤数据的文本区域(它是一个实现“DataTables”的表)。我想用将用户从第一页重定向到第二页的 div/链接的文本预先填充其中一个文本区域(即,如果在第 1 页上,用户要单击“嘉年华”,则第二页上的文本区域页面将预先填充“嘉年华”,以便过滤相关条目的数据表)。知道如何使用 html 完成这样的事情吗?

【问题讨论】:

只需尝试使用查询字符串重定向页面。在下一页(即重定向页面)中,只需使用查询字符串值并进行必要的绑定。 【参考方案1】:

让我认为您的页面有一个链接“狂欢节”。

让我们在第一页考虑您有以下链接

<a href="/Carnivals.html?Key=Carnivals">Carnivals</a>

这里?Key=Carnivals 是一个查询字符串,它将“嘉年华”值带到下一页,即MyCarnivalsPage.html

现在使用以下函数从查询字符串中检索值。

function getParameterByName(name, url) 
    if (!url) url = window.location.href;
    name = name.replace(/[\[\]]/g, "\\$&");
    var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"),
        results = regex.exec(url);
    if (!results) return null;
    if (!results[2]) return '';
    return decodeURIComponent(results[2].replace(/\+/g, " "));

现在用结果值填充你的文本区域

document.getElementById("YourID").value = getParameterByName("Key", window.location.href);

【讨论】:

以上是关于如何根据来自另一个 HTML 页面的链接预填充文本区域的主要内容,如果未能解决你的问题,请参考以下文章

在同一页面上提交表单时如何预填充下拉列表?

如何使用链接从数据库中预填充表单字段?

从 Angular 2 上的查询参数中预填充输入文本框

如何防止表单元素在 Chrome 中预填充

Joomla:使用URL预填充

是否可以像 Whatsapp messenger 一样使用预填充文本输入字段的文本创建指向用户的链接?