【问题标题】:Enter key to submit form with javascript in case of multiply form with php id输入密钥以使用 javascript 提交表单,以防带有 php id 的乘法表单
【发布时间】:2015-02-03 12:51:56
【问题描述】:

我有单独的回复表单,每个帖子都有自己的 php $id 在同一页面。所以我想用键盘 Enter 键提交每个回复。我从这里收集了下面这个 javascript 代码,但我不明白如何将它应用于每个回复。

B.N:收集的代码也不起作用。

我的表格:

<form action="" method="post" class="repfrm'.$id.'" id="prepfrm">
<textarea name="replycom" id="replycom'.$id.'" class="replycom"></textarea>
<button type="submit" name="submit" id="'.$id.'" class="replyfrm">Post Reply</button>
</form>

从 stockoverflow 收集的脚本:

$(".replycom").keyup(function(event){
   if(event.keyCode == 13){
       $(".replyfrm").click();
   }
});

【问题讨论】:

  • 使用 stackoverflow.com/a/8981665/4478897 并修改使用 .closest("form").submit();
  • 如果您将textarea 更改为input type="text",默认情况下您将获得此行为,而无需JavaScript。
  • 为什么不$(".replyfrm").trigger('click'); ??
  • Tushar Raj, $(".replyfrm").trigger('click');工作,但提交所有回复。

标签: javascript jquery forms


【解决方案1】:

类似的东西:

将keypress绑定到textarea并在按键时提交最接近的表单

$("textarea").keypress(function(event) {
    if (event.which == 13) {
        event.preventDefault();
        $(this).closest("form").submit();
    }
});

【讨论】:

    【解决方案2】:

    textarea 更改为 textbox 并在 textBox 中按 Enter 键,然后它就可以按照您的意愿工作。不需要jQuery 代码。

    <form action="" method="post" class="repfrm'.$id.'" id="prepfrm">
       <input type="text" name="replycom" id="replycom'.$id.'" class="replycom">
       <button type="submit" name="submit" id="'.$id.'" class="replyfrm">Post Reply</button>
    </form>
    

    【讨论】:

    • 我有一些带有 textarea 的 css 代码,我也使用了 $('textarea').elastic();用于自动高度。所以也许我无法将文本区域更改为文本框。但我也会尝试。谢谢你。
    【解决方案3】:

    试试这个脚本

     $(".replycom").keypress(function (e) {
            if (e.keyCode == 13) {
                $(this).parents('form').submit();
            }
    
        });
    

    【讨论】:

    • 我想他想用 Intro/Enter 键提交表单
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-12
    • 1970-01-01
    • 1970-01-01
    • 2018-07-14
    • 1970-01-01
    • 2014-10-27
    相关资源
    最近更新 更多