如何通过提示在输入字段中输出 link?

How to output a link in an input field via a prompt?

我正在为此苦苦挣扎,无法让它发挥作用。我正在使用 jQuery 单击 link 将打开一个提示。在此提示中,我希望用户将 URL 到 link 添加到其他一些网站。这工作正常,但我无法在输入字段中正确显示提示的值。

The error I am getting after adding my text in the prompt is the fact that it outputs it like [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: 最好我不想输出已经在我的输入字段中的锚点,但只有在提交 post 之后,但这是很高兴。

编辑:Fiddle link

您似乎在这里混淆了一些变量。您正在将提示响应的值分配给 var urls,但随后期望它处于未定义的 var person 中(猜测您已经使用来自 W3 Schools 教程 (https://www.w3schools.com/jsref/met_win_prompt.asp)) 的示例。

假设您的输入元素的 ID 为 post-text - 那么您会这样做:

$("#post-text").val(urls);

我在这里假设您按照您的建议将 URL 写入输入字段。如果你也想在输入字段中使用那些 a 标签,那么它将是:

 $("#post-text").val('<a href="' + urls + '"</a>');

如果您打算将其输出为 link 某个地方,包括 HTML 'a' 标签以便可以点击,那么您需要将其附加到适当的位置元素(不是输入字段)在 DOM/on 页面的正确位置。

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

希望这对您有所帮助。