2013-12-17 34 views
0

我只想在用戶更改輸入值或命中輸入輸入值時在表單上進行ajax調用。jQuery表格onchange並提交

我遇到的問題是,在輸入提交輸入提交表單,使ajax調用,並且onchange事件發生並觸發ajax調用。

這是我到目前爲止有:

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

是否有可能有兩個輸入變化,並提交觸發提交?

+0

你想趕上'keydown'事件進入並在那裏改變它。 –

回答

1

防止萬一的返回鍵拋出,並添加自己的功能:

$(window).keydown(function(event){ 
    if(event.keyCode == 13) { 
     event.preventDefault(); //this prevents your submit 
     //make your ajax call here 
     return false; 
    } 
    }); 

對於平變化,你可以用jQuery選擇做:輸入這樣的:

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

Here is a Fiddle

+0

這也將聽取改變? – Brian

+0

不,您需要的更改事件另外,我會將其附加到每個輸入字段。 – Igle

+0

我爲change事件添加了一個提議,您還可以在keydown事件中使用jQuery觸發器函數來調用onchange事件 – Igle

0

您需要捕獲keypress事件,確定它是否是字符13(「enter」),然後執行ajax調用。

如果你爲兩者執行相同的ajax,那麼你應該在一個函數中抽象出ajax調用,然後從這個代碼和你已經使用的onchange代碼中調用函數。

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