html、javascript - 每次使用 Post 方法提交表单时打开一个新选项卡
html, javascript - open a new tab every time a form gets submitted using Post method
我有一个带有 select 字段的 html 表单,其中用户 selects table 我们将显示 mySql 数据库中的 him/her。
<form action = "tableOutput.php" method="post" name="frmTableSelect" target="_blank">
<p>Select a table from the list</p>
<select name="tableName" autofocus>
<!-- here I load a list of tables from mySql. for simplicity let it be: -->
<option>table 1</option>
<option>table 2</option>
<p><br><input name="submit" type="submit" id="knopka" value="show table"></p>
</form>
像这样,当用户点击按钮时,将打开一个新选项卡,其中打印 selected table(我在“tableOutput.php”中处理它)- 这是很好。
但用户需要 return 第一个表格和 select 另一个 table,应该打印在 另一个 选项卡中,而它与第一个 replacing 打印在同一个选项卡中。
换句话说,我们需要能够打开许多带有输出的新选项卡。
我插入了这个javascript:
<script>
knopka.onclick = function() {
window.open("tableOutput.php")
};
</script>
现在每次点击按钮都会打开一个选项卡,但是“tableOutput.php”中的 POST 方法不再起作用,因此我们在处理查询时出错。
如果我写
<script>
knopka.submit = function() {
alert('inside javascript');
window.open("tableOutput.php")
};
</script>
没有任何反应,甚至 alert 也没有执行。
请帮忙。
将 .submit 更改为 .onclick:
document.getElementById('knopka').onclick = function() {
警报('inside javascript');
window.open("tableOutput.php")
};
我很惊讶 _blank 重复使用同一个新标签
你不能使用 window.open 到 post 到新的 window/tab 没有很多代码。
试试这个:
let cnt = 0;
document.querySelector("[name=frmTableSelect]").addEventListener("submit", function() {
this.target=`win${cnt++}`;
})
我有一个带有 select 字段的 html 表单,其中用户 selects table 我们将显示 mySql 数据库中的 him/her。
<form action = "tableOutput.php" method="post" name="frmTableSelect" target="_blank">
<p>Select a table from the list</p>
<select name="tableName" autofocus>
<!-- here I load a list of tables from mySql. for simplicity let it be: -->
<option>table 1</option>
<option>table 2</option>
<p><br><input name="submit" type="submit" id="knopka" value="show table"></p>
</form>
像这样,当用户点击按钮时,将打开一个新选项卡,其中打印 selected table(我在“tableOutput.php”中处理它)- 这是很好。
但用户需要 return 第一个表格和 select 另一个 table,应该打印在 另一个 选项卡中,而它与第一个 replacing 打印在同一个选项卡中。 换句话说,我们需要能够打开许多带有输出的新选项卡。
我插入了这个javascript:
<script>
knopka.onclick = function() {
window.open("tableOutput.php")
};
</script>
现在每次点击按钮都会打开一个选项卡,但是“tableOutput.php”中的 POST 方法不再起作用,因此我们在处理查询时出错。
如果我写
<script>
knopka.submit = function() {
alert('inside javascript');
window.open("tableOutput.php")
};
</script>
没有任何反应,甚至 alert 也没有执行。
请帮忙。
将 .submit 更改为 .onclick:
document.getElementById('knopka').onclick = function() { 警报('inside javascript'); window.open("tableOutput.php") };我很惊讶 _blank 重复使用同一个新标签
你不能使用 window.open 到 post 到新的 window/tab 没有很多代码。
试试这个:
let cnt = 0;
document.querySelector("[name=frmTableSelect]").addEventListener("submit", function() {
this.target=`win${cnt++}`;
})