javascript - 输入时提交表单,页面上包含多个包含文件

标签 javascript jquery html

我试图允许在输入时提交我的登录模式,我在单个页面上包含多个登录模式,所以我不希望当用户按输入时提交它们。这些模式默认是隐藏的。当他们按下 Enter 键时,应该会触发对 modal-footer div 的点击。

模态框的 HTML:

<!-- The Modal -->
<div id="myModal" class="modal">
    <!-- Modal content -->
    <div class="modal-content">
        <div class="modal-header" id="modal-header">
            <span class="close">×</span>
            <h1>Team Login</h1>
        </div>
        <div class="modal-body">
            <div style="text-align:left;">
                <form id="teamLogin" name="teamLogin" method="post">
                    <a>User ID</a>
                    <input type="text" name="username" id="username"><br>
                    <a>Password</a>
                    <input type="password" name="password" id="password">
                </form>
            </div>
        </div>
        <div class="modal-footer" id="modal-footer">Login</div>
    </div>
</div>

首次模式提交的 JavaScript:

if ($("#myModal").length != 0) {
    $(window).keyup(function(e) {
        var keyCode = e.which;
        if (keyCode == 13) {
            $("#modal-footer").trigger("click");
        }
    });
}

这是第二个模态的 JavaSript,除了 ID 不同之外,它们完全相同:

if ($("#myModalCarrier").length != 0) {
    $(window).keypress(function(e) {
        var keyCode = e.which;
        if (keyCode == 13) {
            $("#modal-footerCarrier").trigger("click");
        }
    });
}

目前在输入时,当显示myModal时,它也会提交myModalCarrier,但反之则不然。

最佳答案

我可以提供一种替代方案,只使用 HTML 的设计方式,而不使用 JavaScript 吗?也就是说,提交操作被设计为默认在 HTML 表单上输入时发生。

如果您提供“单个页面上的多个模式”代码示例,我也会解决该特定问题。事实上,我是根据您提供的示例代码来回答的。

要实现,请用 <form> 包围您的模式。元素并将登录设置为 type="submit" 按钮.

这是结果(如果您愿意,还可以是 jsbin:https://jsbin.com/lopasaxucu/edit?html,output):

<form id="teamLogin" name="teamLogin" method="post">
  <div id="myModal" class="modal">
    <!-- Modal content -->
    <div class="modal-content">
        <div class="modal-header" id="modal-header">
            <span class="close">×</span>
            <h1>Team Login</h1>
        </div>
        <div class="modal-body">
            <div style="text-align:left;">
                    <a>User ID</a>
                    <input type="text" name="username" id="username"><br>
                    <a>Password</a>
                    <input type="password" name="password" id="password">
            </div>
        </div>
        <div class="modal-footer" id="modal-footer">
          <button type="submit">Login</button>
      </div>
    </div>
  </div>
  </form>
  
<script src="https://code.jquery.com/jquery.min.js"></script>
<link href="https://netdna.bootstrapcdn.com/twitter-bootstrap/2.3.2/css/bootstrap-combined.min.css" rel="stylesheet" type="text/css" />
<script src="https://netdna.bootstrapcdn.com/twitter-bootstrap/2.3.2/js/bootstrap.min.js"></script>

关于javascript - 输入时提交表单,页面上包含多个包含文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49303833/

相关文章:

javascript - 从 knockout 应用绑定(bind)中排除 DOM 元素?

jquery - 发送查询具体价目表

jquery - 刷新 (F5) 在 jQuery 对话框中不起作用

php - ob_flush 不丢弃缓冲区

jquery - 使用 jQuery 获取选择器的 html 作为字符串

javascript - 点到几何形状的转换

javascript - 如何遍历兄弟元素

javascript - X-Editable JQuery 插件 - 选择获取源对象

jquery 用未知字符替换 text() 中的字符串

javascript - 通过innerHTML和document.createElement创建HTML有什么区别?