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

表单内部输入框回车事件重写及form标签action="javascript:;"作用疑问

回车键自定义逻辑实现方案

适配你现有页面结构的实现代码如下:

$(document).ready(function() {
  // 仅绑定文本输入框的按键事件,避开同ID的隐藏域
  $('input[type="text"]#input_field').on('keydown', function(e) {
    // 匹配回车键触发
    if (e.keyCode === 13 || e.key === 'Enter') {
      // 阻止默认提交行为+阻止事件冒泡到表单层
      e.preventDefault();
      e.stopPropagation();

      // 你的业务逻辑示例:同步输入值到隐藏域后弹出模态框
      const currentVal = $(this).val().trim();
      $('input[type="hidden"]#input_field').val(currentVal);
      // 替换为你实际使用的bootstrap模态框ID即可
      $('#your_modal_id').modal('show');
    }
  });
});

注意事项:

  • 你当前代码里两个input的id都是input_field,属于重复ID不符合HTML规范,建议把隐藏域的id修改为input_field_hidden避免选择器异常
  • 该逻辑只会拦截输入框聚焦状态下的回车键操作,其他场景下按回车仍会正常触发表单原有提交逻辑,不需要额外修改表单提交代码

action="javascript:;" 作用说明

这个属性是原生HTML form标签的标准用法,和ftl模板无关:

  • form的action属性默认用来指定表单提交的目标地址,当值以javascript:开头时,浏览器会执行后面紧跟的JS代码
  • 这里的;是JS的空语句,所以javascript:;的作用就是表单提交时执行空代码,不会跳转页面也不会刷新页面,本质是用来阻止表单默认的跳转提交行为
  • 你提到的指定函数名是扩展用法,比如action="javascript:yourSubmitFunc()"就会在提交时执行对应的自定义函数,当前写法是不需要执行任何函数、仅阻止默认提交的最简写法

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 11:42:00