2011-09-24 75 views
0

我有我的jqGrid中的添加/編輯彈出使用的一種形式jqGrid的點擊回車上EDIT彈出

@using (Html.BeginForm("Action", "Controller", FormMethod.Post, new { id = "formId" })) 
{ 
//... 
} 

當我點擊一排的形式打開。如果我按下文本框,然後單擊輸入此表單提交。它提交作爲一個普通的發佈請求,而不是使用jqgrid。但是,如果我點擊保存按鈕,它按要求工作。

buttons: { 
        'Save': function() { 

         if ($('#formId').valid()) { 

          $.ajax({ 
           type: 'POST', 
           url: '@Url.Action("Action", "Controller")', 
           data: $('#formId').serialize(), 
           success: function (json) { 
            $("#grid").trigger("reloadGrid"); 
           }, 
           error: function (e) { 
            alert("Unable to save." + e); 
           }, 
           dataType: "application/JSON" 
          }); 

          $("#divForm").dialog('close'); 
         } 
        }, 

但我想,當我點擊ENTER將作爲保存按鈕單擊。

回答

0

嘗試認購表格的提交事件:

<div id="formContainer"> 
    @using (Html.BeginForm("Action", "Controller", FormMethod.Post, new { id = "formId" })) 
    { 
     ... 
    } 
</div> 

然後:

$('#formContainer').delegate('#formId', 'submit', function (evt) { 
    evt.preventDefault(); 
    if ($(this).valid()) { 
     $.ajax({ 
      type: this.method, 
      url: this.action, 
      data: $(this).serialize(), 
      success: function (json) { 
       $('#grid').trigger("reloadGrid"); 
      }, 
      error: function (e) { 
       alert("Unable to save." + e); 
      }, 
     }); 
    } 
}); 

現在在Save按鈕點擊強制表單提交:

'Save': function() { 
    $('#formId').submit(); 
} 

但可能最好使用表單的提交按鈕來提交表單。