2011-12-28 56 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

相關問題