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

ASP.NET MVC局部视图表单在Edge中需按两次回车键才提交

解决ASP.NET MVC局部视图表单Edge下需两次回车提交的问题

嘿,我之前在Edge浏览器里也碰到过类似的表单回车提交异常,结合你说的ASP.NET MVC局部视图场景,给你几个实用的排查和解决方向:

  • 检查DOM结构是否有隐藏冲突
    Edge有时候对表单内的元素嵌套或重复元素比较敏感。你可以打开Edge开发者工具(F12),在Elements标签下仔细检查局部视图生成的表单:确保没有嵌套的<form>标签,表单内只有一个type="submit"的按钮,也没有额外的隐藏输入框意外抢占了回车事件。第一次回车可能只是聚焦到了提交按钮,第二次才触发提交动作,这种情况大多是DOM结构有隐性问题。

  • 手动绑定回车事件强制提交
    既然点击提交按钮完全正常,那可以给文本框手动绑定回车事件,直接触发表单提交逻辑,绕过Edge的识别偏差。在局部视图的脚本区域加这段代码就行:

    const inputBox = document.getElementById('你的文本框ID');
    const targetForm = document.getElementById('你的表单ID');
    
    inputBox.addEventListener('keydown', function(e) {
        if (e.key === 'Enter') {
            e.preventDefault(); // 阻止默认回车行为避免冲突
            targetForm.submit();
        }
    });
    
  • 替换表单辅助方法为原生HTML标签
    如果你用的是Html.BeginForm()这类ASP.NET MVC辅助方法生成表单,有时候Edge对辅助方法自动生成的隐藏字段或属性兼容性不佳。可以试试手动写原生<form>标签,明确指定method和action:

    <form action="@Url.Action("你的Action名称", "你的Controller名称")" method="post">
        <input type="text" name="参数名" id="文本框ID" />
        <button type="submit">提交</button>
    </form>
    

    去掉辅助方法可能带来的冗余代码干扰。

  • 排查浏览器缓存或扩展干扰
    有时候Edge缓存的旧脚本、样式,或者安装的扩展会导致奇怪的交互问题。你可以先试试在Edge隐身模式下测试,如果隐身模式里一次回车就能提交,那说明是缓存或扩展的问题——清除浏览器缓存(Ctrl+Shift+Delete),或者禁用所有扩展后再逐一排查。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 10:35:35