如何禁用所有字段的表单提交,但提交按钮

时间:2015-02-09 16:43:04

标签: javascript jquery

如何禁用所有输入字段的表单提交,但是提交按钮(名为“提交”的ID)。下面的代码可以工作,但问题是我不能在textareas中做新的行。我正在使用jQuery。我的目标是阻止输入提交表格。

$('form').on('keyup keypress', function(e) {
  var code;
  code = e.keyCode || e.which;
  if (code === 13) {
    e.preventDefault();
    return false;
  }
});

2 个答案:

答案 0 :(得分:0)

您可以检查输入文本区域是否有焦点。

检查代码段

(function($) {
  $('form').on('keyup keypress', function(e) {
    if ($("input,textarea").is(":focus")) {
      //input and text area has focus
    } else {
      var code;
      code = e.keyCode || e.which;
      if (code === 13) {
        e.preventDefault();
        console.log('hello');
        return false;
      }
    }
  });
})(jQuery);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form action="">
  <textarea name="user_eingabe" cols="50" rows="10"></textarea>
  <input type="submit">
</form>

答案 1 :(得分:0)

如果没有提交按钮,则按Enter键将永远不会提交表单。

只需找到您的提交按钮(输入类型=&#34;提交&#34;或按钮),然后将您的元素更改为按钮类型并指定单击处理程序以提交表单。

<input id="formSubmit" type="button" value="Submit" />

别忘了,<button>隐式有一种提交方式,所以如果你使用提交方式,请确保它也是type="button"

$("#formSubmit").click(function(){ $(this).closest("form").submit() });