在新标签页中打开 link 时不会提交表单

Form submit doesn't happen while opening the link in a new tab

我有一个带有 javascript 提交功能的表单。 我在表单中有 3 个 links(锚标记)& 想根据 link clicked

为提交时的隐藏参数设置不同的值

表单提交通常工作正常,但如果我尝试在新选项卡中打开 link,则不会提交表单。 javascript 函数中的警报是 未打印。有没有人知道如何解决这个问题?

下面是示例代码:

<html>

    <head>
        <script type="text/javascript">
            function submitForm(actionParam) {
            alert("in submitForm");
            document.getElementById("action").value = actionParam;
            document.forms['myForm'].action = action;
            document.forms['myForm'].submit();
        }
        </script>
    </head>

    <body>

        <form name="myForm" id="myForm" method="post" action="/businesspanel">
            <input type="hidden" id="action" name="action" value="" />

            <a href="#" onclick="submitForm('action1');">Action 1</a></span>
            <a href="#" onclick="submitForm('action2');">Action 2</a></span>
            <a href="#" onclick="submitForm('action3');">Action 3</a></span>

        </form>

    </body>
</html>

在新 window 中打开 link 绕过 JavaScript。不要使用 links / JS 提交表单。

只需使用提交按钮。您甚至可以在不涉及 JS 的情况下发送您的识别值。

<button name="action" value="action1">Action 1</button>
<button name="action" value="action2">Action 2</button>
<button name="action" value="action3">Action 3</button>
document.forms['myForm'].action = action;

"action" 未定义 here.If 你想在新标签页中打开 link,只需执行以下操作:

document.forms['myForm'].target= '_blank';