2011-12-28 37 views
0

我有这样的HTML:如何访问表单输入在knockoutjs

<form data-bind="submit: mySubmit> 
    <input type="text" ... 

而且我想在访问输入的值提交:

mySubmit = function() { 
    var textValue = ???; 
    alert(textValue); 
} 

我怎么能这样做?我可以给文本字段提供一种ID,但我不希望这个ID是全局的(例如,我可能在一个页面上有几个这样的表单)。

回答

2

如果您从Knockout的角度来看它,那么您确实希望在您的视图模型中表示您输入的值。这意味着要为您的输入添加data-bind="value: myValue"。然后,您可以从mySubmit方法的视图模型中访问它。

喜欢的东西:http://jsfiddle.net/rniemeyer/sAyET

我不会推荐它,但提交方法实际上是通过在淘汰赛的第一个参数的形式元素(它确实应该通过当前的数据和事件,但目前它是元素)。

所以,你可以做类似于:http://jsfiddle.net/rniemeyer/sAyET/1/。理想情况下,你的视图模型不应该有任何对DOM /视图的引用,所以我不会推荐这个选项,除非绝对必要。

+0

谢谢。我采用了你所建议的解决方案。我没有想到它,因为我不需要双向绑定,但它非常简单! – Gnurfos 2011-12-28 16:55:27

相关问题