javascript - 我可以控制按 Enter 时触发哪个提交按钮吗?

标签 javascript jquery html asp.net

我有一个表格。 它有几个 div。 每个都包含一个文本框和一个提交按钮。

当我将文本插入到其中一个文本框时,我希望 Enter 键将触发包含此文本框的同一 div 内的按钮。

Enter 总是触发第一个提交按钮! 可以修复吗? (也许是通过 Jquery 实现的?) 您可以在这里看到一个工作示例:

https://codepen.io/elic55/pen/LYELQrP

<form>
        <div id="div1">
          div1
            <input id="Text1" type="text" />
            <input id="Submit1" type="submit" value="submit" />
        </div>

        <div id="div2">
          div2
            <input id="Text2" type="text" />
            <input id="Submit2" type="submit" value="submit" />
        </div>

        <div id="div3">
          div3
            <input id="Text3" type="text" />
            <input id="Submit3" type="submit" value="submit" />
        </div>
    </form>





$(function () {
            $('#Submit1').on('click', function () {
                alert("1");
            })
            $('#Submit2').on('click', function () {
                alert("2");
            })
            $('#Submit3').on('click', function () {
                alert("3");
            })
        })

我更喜欢不会改变结构的解决方案,因为: 我正在使用 asp.net - 必须有一个表单! asp 按钮呈现为提交按钮。

最佳答案

使用 jquery 和 $(":input");

$(function () {

            $(":input").on('click', function () {
                    alert("3");
            });
            //if you also want Enter 
           $(document).on('keyup', function (e) {
            if (e.keyCode === 13) {
             alert("3"); // or anything you want to happen
               }
           e.preventDefault();
           return false;
            });
            })
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<form>
        <div id="div1">
          div1
            <input id="Text1" type="text" />
            <input id="Submit1" type="submit" value="submit" />
        </div>

        <div id="div2">
          div2
            <input id="Text2" type="text" />
            <input id="Submit2" type="submit" value="submit" />
        </div>

        <div id="div3">
          div3
            <input id="Text3" type="text" />
            <input id="Submit3" type="submit" value="submit" />
        </div>
    </form>

关于javascript - 我可以控制按 Enter 时触发哪个提交按钮吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59482874/

相关文章:

javascript - 平板电脑屏幕方向错误

javascript - CSS媒体查询,如果高度大于500px,如何在div下添加阴影?

jquery - 只用 jQuery 建一个网站?

javascript - 有没有办法在 JavaScript 中用单个字母替换双字母?

javascript - 使用指令从另一个 Controller 更新 $scope

javascript - 使用 jQuery 检测用户何时不关注输入框?

html - 为 <li> 添加特殊背景图片

javascript - 渲染方法中出现意外的标记参数

javascript - 如何基于具有相同选项值的另一个选择元素禁用选择元素中的选项?

javascript - jquery 在同一页面中切换登录和注册