首页 > 解决方案 > 如何通过提示在输入字段中输出链接?

问题描述

我正在为此苦苦挣扎,无法让它发挥作用。我正在使用 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:最好我不想输出已经在我的输入字段中的锚,但只有在提交帖子之后,但这是一个很好的选择。

编辑:小提琴链接

标签: javascriptjqueryhtmlprompt

解决方案


您似乎在这里混淆了一些变量。您正在将提示响应的值分配给 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 中正确位置的适当元素(不是输入字段)/在页面上。

最后,如果您想在提交表单后将值写入字段(无论出于何种原因),您可以将其存储在变量中并在提交时写入,或者可能在隐藏字段中。我不确定您为什么要这样做。

希望这可以帮助。


推荐阅读