2012-04-17 15 views
0

是否可以使用jquery提交表單而不需要顯式地設置數據。jquery ajax提交表單而沒有指定數據

即。我有以下形式

<% using (Html.BeginForm("Search", "DrawingWindow", FormMethod.Get, new {id="DrawingSearch"})) 
    { %> 
    <div> 
     <%: Html.LabelFor(m=> m.DrawingNumberName, new {@class="dark_blue"}) %> 
    </div> 
    <div> 
     <%: Html.TextBoxFor(m=> m.DrawingNumberName)%> 
     <%: Html.Submit("Search") %> 
    </div> 
<% } %> 

,我想這樣做如下:

$('#drawingSearch').submit(function (e) { 
      e.preventDefault(); 

      $ajax({ 
       url: '<%:Url.Action("Search", "PID") %>', 
       type: 'GET', 
      }) 
    }); 

現在,因爲我還沒有在這裏指定的任何數據,我想我也不會在阿賈克斯發送的文本框請求,有沒有一種方法可以包含它,而不必爲文本框提供一個id,並將一個數據對象作爲請求的一部分發送出去?

+0

值「做一個數據對象」可以請你解釋這一點。 – 2012-04-17 06:27:54

+0

爲什麼不只是提交表單ajaxly? – fengd 2012-04-17 06:32:43

回答

0

你可以把它放在表單標籤中,並使用jquery serialize函數。

$('#drawingSearch').submit(function (e) { 
    e.preventDefault(); 

    var data = $('#myForm').serialize(); 

    $ajax({ 
     url: '<%:Url.Action("Search", "PID") %>', 
     data: data, 
     type: 'GET', 
    }) 
}); 

通過這種方式,你可以把儘可能多的輸入字段的形式裏面,你想,並沒有改變的JavaScript/jQuery代碼。

0

,或者可以用搶不$('textarea').val()設置的id到文本框

$ajax({ 
     url: '<%:Url.Action("Search", "PID") %>', 
     data: 'textVal='+$('textarea').val(), 
     type: 'GET', 
    })