2017-07-06 49 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在我所有的点击事件中,因为它阻止了应用绑定时触发的点击事件,并且还允许您传递额外的参数。