2013-08-24 58 views
1

隨着Ember.js,對於下面的情況:找出哪些按鈕[類型=提交]被單擊在多按鈕形式

<form {{action 'save' on="submit"}}> 
    <button type="submit" data-source='X'>Do X</button> 
    <button type="submit" data-source='Y'>Do Y</button> 
</form> 

裏面的保存()事件,該怎麼辦一個圖中出哪個按鈕被點擊了?我需要按鈕[type = submit]我知道我可以在按鈕上做2個動作,但是我想在本地提交表單,如果唯一的話方法是有2個單獨的行動,我只是失望地手動發射表單提交每個,但必須有一個更簡單的方法)

回答

1

動作助手不會傳遞jQuery事件信息,但您可以訪問它通過使用視圖的事件處理程序來代替。因此,例如,你可以定義諸如提交事件處理程序:

App.MultiButtonForm = Ember.View.extend({ 
    tagName: 'form', 
    submit: function(event) { 
    console.log('submit with: ', event); 
    event.preventDefault(); 
    } 
}); 

{{#view App.MultiButtonForm}} 
    <button type="submit" data-source='X'>Do X</button> 
    <button type="submit" data-source='Y'>Do Y</button> 
{{/view}} 

爲與視圖的事件處理程序動作助手的討論,請參見https://github.com/emberjs/ember.js/issues/1684

也看到這個帖子就如何找出是哪個按鈕思路按下:http://www.webmuse.co.uk/blog/using-forms-with-multiple-submit-buttons-and-jquery-events/

+1

不完全是我所希望的,但謝謝! – clueless

相關問題