是否可以提交带有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并使数据对象作为一部分发送请求?
答案 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',
})