【问题标题】:How do I create a hyperlink inside an input text field in html?如何在 html 的输入文本字段中创建超链接?
【发布时间】:2018-08-07 16:20:19
【问题描述】:

我有一个输入文本字段,用户可以在其中输入网站名称。是否可以将其超链接,以便在保存字段后,如果用户单击它,它会重定向到网站?

我使用 Django 作为后端,使用 Javascript 和 html 作为前端。

【问题讨论】:

标签: javascript python html


【解决方案1】:

输入字段的值存储为纯文本,因此您不能包含 HTML(即链接)并期望 HTML 被解析和运行。

您可以使用 JavaScript 模拟这种行为,但我建议不要这样做。 (你会添加一个点击监听器,你的函数会拉取字段的值,看看它是否是一个有效的 URL,然后打开位置。)

我不会为此编写代码,因为这将是糟糕的用户体验。输入字段的标准行为是单击它来编辑文本。这是您的用户的一个假设,因此他们 (a) 不会考虑点击它,因为他们不希望它是一个链接,并且 (b) 如果他们想编辑文本,请点击它,只是为了被重定向并且无法编辑文本。

或者,您可以在输入旁边添加一个小按钮,即“打开”或“测试”或外部链接图标。

【讨论】:

  • 感谢您的回答。这很有意义。
【解决方案2】:

简单地说,如果您在用户的个人资料页面上打印用户的 URL,请确保您可以按如下方式打印:

<a href='$url'>$url</a>

那是 PHP,当然你可以用任何语言来做。我不确定这是否回答了你的问题,因为你问它是否可以打印在不可能/没有意义的字段“内部”。

但是,请考虑安全性。请记住,用户可以在此字段中输入任何恶意 URL,因此您需要了解您在网站/应用程序上可能会将其链接到谁。

有用的资源:

URL HTML 字段: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/url

使用 Django 验证 URL 格式(虽然不检查是否恶意): How can I check if a URL exists with Django’s validators?

【讨论】:

    猜你喜欢
    • 2023-04-03
    • 1970-01-01
    • 1970-01-01
    • 2011-03-04
    • 2013-07-10
    • 2014-12-10
    • 1970-01-01
    • 2014-08-15
    • 1970-01-01
    相关资源
    最近更新 更多