javascript - 如何通过提示在输入字段中输出链接?
问题描述
我正在为此苦苦挣扎,无法让它发挥作用。我正在使用 jQuery 单击一个链接,该链接将为我打开一个提示。在此提示中,我希望用户添加一个 URL 以将其链接到其他一些网站。这很好用,但我无法在输入字段中正确显示提示的值。
在提示中添加我的文本后我得到的错误是它像 [Object object] 一样输出它。
我确实知道如何在纯 JS中做到这一点,但在 jQuery 中不知道,我需要jQuery
。
这是我的代码:
$(".html-button").on("click", function () {
var urls = prompt("Add a link", "http://");
var setText = $("#post-text").val().append('<a href="'+ urls + '"</a>');
// Adding prompt text into my input field
$("#post-text").val(setText);
});
我想我可以通过使用append
而不是来做到这一点innerHTML
,我会在普通的JS中使用它......有人可以帮忙吗?
PS:最好我不想输出已经在我的输入字段中的锚,但只有在提交帖子之后,但这是一个很好的选择。
编辑:小提琴链接
解决方案
您似乎在这里混淆了一些变量。您正在将提示响应的值分配给 var urls,但随后期望它位于未定义的 var person中(猜想您已使用 W3 Schools 教程中的示例(https://www.w3schools.com/ jsref/met_win_prompt.asp ))。
假设您的输入元素的 id 为post-text - 那么您将执行以下操作:
$("#post-text").val(urls);
正如您所建议的,我在这里假设您正在将 URL 写入输入字段。如果您也希望在输入字段中使用这些标签,那么它将是:
$("#post-text").val('<a href="' + urls + '"</a>');
如果您的意图是将其作为链接输出到某处,包括 HTML 'a' 标记以便可以单击它,那么您需要将其附加到 DOM 中正确位置的适当元素(不是输入字段)/在页面上。
最后,如果您想在提交表单后将值写入字段(无论出于何种原因),您可以将其存储在变量中并在提交时写入,或者可能在隐藏字段中。我不确定您为什么要这样做。
希望这可以帮助。
推荐阅读
- javascript - 带有变量+外部配置的Webpack动态导入不起作用
- sql-server - SQL Servr:间隔日期的 SET 语句
- microservices - 重启 PCF 空间中的所有应用程序
- c# - 使用许多共享对象扩展应用程序
- reactjs - 构建 ReactiveSearch 组件以使搜索工作的正确方法
- amazon-web-services - dynamo db 多对多关系
- sql - SQL参数化查询,哪里还可以传“all”?
- ember.js - 如何将图像包含到 ember cli
- javascript - 无法更改动态添加元素的属性
- excel - 从 ag-grid 导出时将列格式设置为邮政编码