2017-07-06 53 views
0

我有一個包含一些Knockout代碼的表單,但表單提交得太早。我有以下敲除「提交」干擾Razor @ html.beginform提交

<form data-bind="submit:addItem"> 
      Add illness: <input type="text" data-bind='value:itemToAdd, valueUpdate: "afterkeydown"' /> 
      <button type="submit" data-bind="enable: itemToAdd().length > 0">Add</button> 
     </form> 

的按鈕與我的剃刀形式干擾,我認爲是因爲它的類型=「提交」,所以,當我點擊這個按鈕很不幸的表單提交,當我想要的使用此按鈕是調用Knockout功能。
所以我想解決這個問題的一種方法是不使用上面的代碼,但我不知道替代方案是什麼。但願我並不需要把類型=「提交」就在那裏,因爲我需要保存時,我提出我的最終形式功能非常非常晚

回答

0

試試這個:

<form data-bind="submit:addItem.bind($data)"> 

我用的是.bind在我所有的點擊事件中,因爲它阻止了應用綁定時觸發的點擊事件,並且還允許您傳遞額外的參數。