You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flask点击按钮无需JavaScript打开新页面的实现方法

无JavaScript实现方案

直接用HTML原生表单属性就能实现,不需要写任何JS代码。

修改步骤

找到包裹你这张表格的<form>标签,给它加上target="_blank"属性就可以,原有按钮的逻辑完全不用动。
修正后完整代码参考:

<form method="post" target="_blank">
  <table>
  <tbody>
  {% for item in rows %}
  <tr>
     <td>{{ item[0] }}</td>
     <td>
        <button formaction="/stockpopup" 
           type="submit" name="stock" value="{{ item[11] }}">
        {{ item[11] }}</button>
     </td>
     <td>{{ item[1] }}</td>
  </tr>
  {% endfor %}
  </tbody>
  </table>
</form>

注意点

  • target="_blank"写在form标签上时,作用是指定当前表单所有提交请求的响应加载位置,设置为这个值就会让响应在新标签页打开,和a标签的同名属性效果一致
  • 你写在按钮上的formaction属性不会受这个属性影响,点击按钮依然会正常把选中的stock值提交到/stockpopup端点
  • 原代码里Jinja模板写的value = {{item[11] }}有语法错误,记得改成value="{{ item[11] }}"`,不然值包含空格、特殊字符的时候会出现提交参数不对的问题
  • 如果页面上还有其他表单不希望新标签页打开,只需要把这块表格和对应按钮单独放在这个带target="_blank"的form里就行,不会干扰其他表单的正常跳转

内容的提问来源于stack exchange,提问作者James2021

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.03 11:31:11