0
我在頁面上有多個ajax表單,它們共同擁有相同的元素,我在查找表單和更新的childrean元素的成功的jquery函數上,但我需要以某種方式傳遞請求的表單的Id控制器以及來自窗體的其他值,執行此操作的最佳方法是什麼?也許添加隱藏字段形式和頁面加載得到parentid並把它放在這個領域與jQuery。但我不知道jquery那麼好。在提交時傳遞ajax表單id
@using (Ajax.BeginForm("Index", "Controller",new AjaxOptions { OnFailure = "error", OnSuccess ="sucess" }))
{
<input type="submit" name="value" class="up" value="1" />
<span class="result">0</span>
<input type="submit" name="value" class="down" value="-1" />
}
public ActionResult Index(int value ,string formID)
{
//do something
}
function sucess(arg) {
var json = $.parseJSON(arg.responseText);
var form = $("form#" + json.FormID);
var up = form.children('input.up');
var down = form.children('input.down');
form.children('span.result').replaceWith(json.Result);
if (json.Result == 1) {
up.addClass('active');
}
if (json.Result == -1) {
down.addClass('active');
}
}
UPDATE:這是一個被載入了N次,所以我不能找出formID直到頁面在瀏覽器中呈現局部視圖。
我有我的錯誤函數時,我沒有解析jquery messagebox插件傳遞對象的問題,所以我認爲它需要完成。是的,控制器返回Json。 – formatc 2012-03-30 09:44:57
@ user1010609,是的,在'OnFailure'和'OnComplete'裏面,你需要手動解析參數。只有在'OnSuccess'裏面,jQuery會爲你解析。 – 2012-03-30 09:49:42
很高興知道,謝謝!你能告訴我什麼是最好的狀態代碼返回觸發失敗,我目前發送錯誤的請求,這導致螢火蟲(這是不是真正的)顯示錯誤。 – formatc 2012-03-30 09:53:05