正确的HTML链接不起作用(浏览器中的最后7个字符被剪切掉了)?

时间:2019-01-31 14:52:12

标签: javascript html

目前,我正在为我的大学Moodle Plattform编写一个聊天机器人。一切正常,但只有一部分:

当我尝试访问Moodle中的一页时,html链接根本无法正常工作。通过我的按钮调用链接时,最后一个ID部分只是被剪切掉了。

我希望此链接在我的浏览器中: “ https://hagenberg.elearning.fh-ooe.at/course/view.php?id=7961

但是我总是在调用它后得到这个: “ https://hagenberg.elearning.fh-ooe.at/course/view.php?”

我在做什么错了?

这是我的代码:

let link = props.item.object[2].buttons[0].postback.toString();

if (attachment.type === "card") {

        console.log(link);

        return (
            <div>
                <form action={link} method="get" target="_blank">
                    <button id="linkbutton">Kurs anzeigen!</button>
                </form>
            </div>
        );
    }

在控制台中检查元素时,我得到了:

<form action="https://hagenberg.elearning.fh-ooe.at/course/view.php?id=7961" 
method="get" target="_blank">
<button id="linkbutton">Kurs anzeigen!</button></form>

因此,链接可以完美地粘贴到按钮上。当我从控制台(Chrome Dev Tools)调用它时,它也可以正常工作。 只有当我单击按钮时才不会!

如何保留id部分?

我很感谢您的帮助,因为这是我的学士论文遗漏的最后一点,直到我可以将其交到...:-(

1 个答案:

答案 0 :(得分:1)

这是因为您使用的不是链接,而是表单。表单通过GET发送其数据,这意味着所有表单内容(在本例中为空)都作为参数放入url中,从而覆盖了您的ID。

我建议使用一个实际的链接,因为该表单看起来无论如何都不应该发送数据。链接如下所示:

<a href="https://hagenberg.elearning.fh-ooe.at/course/view.php?id=7961" target="_blank">Kurs anzeigen!</a>

让我知道这是否对您有用。