javascript - 提交表格并停留在同一页面上?

标签 javascript html perl

我有一个看起来像这样的表格

<form action="receiver.pl" method="post">
  <input name="signed" type="checkbox">
  <input value="Save" type="submit">
</form>

我希望在单击“提交”时停留在同一页面上,但仍执行 receiver.pl

应该怎么做?

最佳答案

99% 的时间我会使用 XMLHttpRequestfetch对于这样的事情。但是,还有一个不需要 javascript 的替代解决方案...

您可以在页面上包含一个隐藏的 iframe,并将表单的目标属性设置为指向该 iframe。

<style>
  .hide { position:absolute; top:-1px; left:-1px; width:1px; height:1px; }
</style>

<iframe name="hiddenFrame" class="hide"></iframe>

<form action="receiver.pl" method="post" target="hiddenFrame">
  <input name="signed" type="checkbox">
  <input value="Save" type="submit">
</form>

很少有我会选择这条路线的场景。通常使用 javascript 处理它会更好,因为使用 javascript 您可以...

  • 优雅地处理错误(例如重试)
  • 提供 UI 指示器(例如加载、处理、成功、失败)
  • 在发送请求之前运行逻辑,或者在收到响应之后运行逻辑。

关于javascript - 提交表格并停留在同一页面上?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5733808/

相关文章:

javascript - 如何更新标记的信息窗口?

html - 在左侧显示数据库中的一条记录,在右侧显示下一条记录

javascript - 如何定义CSS以获得简单的选项卡式菜单

windows - 如何测试 STDIN 是否有可读取的内容(Windows 上的 Perl)

perl - 在 Perl 中,当和给定是实验性的时,如何静音?

javascript - 如果我的操作创建者返回 Promise,Redux 何时解决调度?

javascript - 将带空格的字符串传递给 javascript

javascript - Angular 导出和导入常量

javascript - react 悬停在按钮上会导致另一个按钮悬停在上面

Perl 事件循环有多个阻塞观察者?