2013-02-12 5 views
1

jQuery ajax에서 제출하는 다음 html 양식이 있습니다. 내 컨트롤러 내부에서 입력 텍스트 상자의 값을 가져 오는 방법을 이해할 수없는 것 같습니다. Request.Form [ "waitMinutes"]가 작동 할 것으로 예상 했었지만 컨트롤러 내에서 null이 나타납니다.MVC4 컨트롤러에서 양식 값 가져 오기

내 컨트롤러에서 양식 값을 가져 오는 비결은 무엇입니까? 코드를 제출

<form method="post" [email protected]("UpdateWaitTime", "Facilities")' data-ucw-updateWaitTimeForm="@facility.Id" style="display:none" > 
    <input type="hidden" id='faciility' value="@facility.Id" /> 
    <input type="text" id="waitMinutes" value="0" style="width:15px" /> 
    <input type="submit" value="Update Wait Time" /> 
    <span class="UpdateMessage"></span> 
</form> 

내 JQuery와 아약스는 다음과 같습니다

var ajaxUpdateWaitTime = function() { 
     var $form = $(this); 

     var options = { 
      url: $form.attr('action'), 
      type: $form.attr('method'), 
      data: $form.serialize() 
     }; 

     $.ajax(options).done(function (data) { 
     ... 
     }); 
+0

당신은'name'을 주어야합니다. attr 당신의 입력에 맞춰서 ...'' – nemesv

+0

그게 다야 !! 이 질문을 답변으로 추가하면 답변으로 표시됩니다. 손을 가져 주셔서 감사합니다! – ChiliYago

답변

1

당신은 당신이 그들에게 줄 필요가 서버에 입력 '값을 다시 보내려면 그들에게 ID를 제공하는 name은 (아니다 충분히). 폼 요소의 값에 대한 jQuery.serializable ducumentation (나 추가 강조)

에서

가 직렬화 된 문자열에 포함되는, 요소가 이름 속성

이 있어야합니다

그러니 제공 당신의 입력은 name이고 잘 작동해야합니다 :

<form method="post" [email protected]("UpdateWaitTime", "Facilities")' 
     data-ucw-updateWaitTimeForm="@facility.Id" style="display:none" > 
    <input type="hidden" name='faciility' id='faciility' value="@facility.Id" /> 
    <input type="text" name="waitMinutes" id="waitMinutes" value="0" 
      style="width:15px" /> 
    <input type="submit" value="Update Wait Time" /> 
    <span class="UpdateMessage"></span> 
</form> 
관련 문제