2011-07-28 64 views
1

這應該相當簡單,但我嘗試了幾件事情,但沒有運氣。當MVC3 Html.TextBoxFor的內容發生變化時提交表單

我在頁面上有一系列Html.TextBoxFor字段,每個字段都在自己的Ajax.BeginRouteForm之內。在每個框旁邊都有一個提交按鈕,點擊該按鈕後,將根據需要執行Ajax更新。

我想自動執行此操作,以便當用戶更改字段中的值(onchange事件)時,表單將按照當前使用提交按鈕的相同方式提交。

我嘗試使用htmlattributes爲onchange事件分配一個JavaScript函數(如下所示),這會導致表單提交,但它重定向頁面而不是以ajax方式工作(而不是點擊提交按鈕工作正常)。

@(Html.TextBoxFor(model => answer.Value, new { onchange = "document.forms[" + answer.AnswerID + "].submit()" })); 

(幸好我answer.AnswerID是數字,並與形式收集的適當形式的數字位置相匹配;我的名字,但剃刀(或其它)中引用它們是htmlencoding我的JavaScript代碼...)

我唯一的猜測是我通過將代碼直接附加到onchange事件中而破壞了某些東西,但我對於「正確」的方式掛鉤到事件鏈中感到不知所措。

回答

相關問題