更改并提交jQuery表单

更改并提交jQuery表单,jquery,Jquery,我只想在用户更改输入值或在输入值中单击enter键时对表单进行ajax调用 我遇到的问题是,在输入中按enter键会提交一个表单,该表单会进行ajax调用,同时还会发生onchange事件并触发ajax调用 以下是我目前掌握的情况: $(document).on 'change', '.painter-edit :input', -> $(this).closest('form').submit() 是否可以同时更改输入和提交触发器提交?防止返回键引发事件并添加您自己的功能: $

我只想在用户更改输入值或在输入值中单击enter键时对表单进行ajax调用

我遇到的问题是,在输入中按enter键会提交一个表单,该表单会进行ajax调用,同时还会发生onchange事件并触发ajax调用

以下是我目前掌握的情况:

$(document).on 'change', '.painter-edit :input', ->
    $(this).closest('form').submit()

是否可以同时更改输入和提交触发器提交?

防止返回键引发事件并添加您自己的功能:

$(window).keydown(function(event){
    if(event.keyCode == 13) {
      event.preventDefault(); //this prevents your submit
      //make your ajax call here 
      return false;
    }
  });
对于onchange,您可以使用jquery选择器:如下输入:

$(':input').on('change', function(){
    //make your ajax call here 
});

您需要捕获
按键
事件,确定它是否是字符13(“回车”),然后执行ajax调用

如果对这两个代码都执行相同的ajax,那么应该在函数中抽象ajax调用,然后从这段代码和已有的onchange代码中调用函数

$(document).keypress(function(e) {
  if(e.which == 13) {
    // call the ajax function
  }
});

您想捕获enter的
keydown
事件并在那里更改它。这还将侦听更改?不,您需要的更改事件。此外,我会将其附加到每个输入字段。我为更改事件添加了一个建议,您还可以在keydown事件中使用jQuery触发器函数调用onchange事件