Jquery ajax提交表单而不指定数据

时间:2012-04-17 06:08:19

标签: jquery ajax

是否可以提交带有jquery的表单,而无需明确设置数据。

即。我有以下表格

<% 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',
            })
    });

既然我没有在这里指定任何数据,我认为我不会在ajax请求中发送文本框,有没有办法包含它而不必给文本框一个id并使数据对象作为一部分发送请求?

2 个答案:

答案 0 :(得分:0)

您可以将其放在表单标记内,并使用jquery序列化函数。

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

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

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

通过这种方式,您可以根据需要在表单中放置尽​​可能多的输入字段,而不必更改javascript / jQuery代码。

答案 1 :(得分:0)

或者可以使用$('textarea').val()获取值而无需将id设置为文本框

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